JSON 语法

JSON语法是 JavaScript 对象语法的子集。前面也说了,就是Javascript Object(Java Script Object Notation)

JSON 语法规则

  • 数据在名称/值对中
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

JSON 名称/值对

JSON 数据的书写格式是:{Key:Value}{Key:Array}

{Key:Value},前面是键,中间是英文的“:”(冒号),然后是值。但是注意的是如果是字符串,严格来说都是英文双引号引起来的

如:{"Key":"Value"}

{"name" : "鹿晗"}

这很容易理解,等价于这条 JavaScript 语句:

name = "鹿晗"

JSON 值范围

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(truefalse
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null

JSON 对象

JSON 对象在花括号中,对象可以包含多个名称/值对,如下代码所示:

{
    "name": "鹿晗",
    "age": 26,
    "birthday": "1990年4月20日",
}

这一点也容易理解,与这条 JavaScript 语句等价:

name = "鹿晗";
age = 26;
birthday = "1990年4月20日";

JSON 数组

JSON数组在方括号("[]")中书写,数组可包含多个对象,如下“star_male”描述

{
    "star_male": [
        {
            "name": "鹿晗",
            "age": "26"
        },
        {
            "nickname": "李易峰",
            "age": "29"
        },
        {
            "nickname": "陈赫",
            "lastName": "31"
        }
    ]
}

在上面的例子中,对象 "star_male" 是包含三个对象的数组。每个对象代表一条关于一个明星(姓名和年龄)的记录。

JSON 使用 JavaScript 获取元素值

因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON

通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:

栗子🌰:

var star_male =  [
    {
        "name": "鹿晗",
        "age": "26"
    },
    {
        "name": "李易峰",
        "age": "29"
    },
    {
        "name": "陈赫",
        "age": "31"
    }
]

可以像这样访问 JavaScript 对象数组中的第一项(鹿晗):

var name = star_male[0].name;
alert(name);

由此我们得到的name是:

鹿晗

我们试着这样修改数据取得鹿晗的age

var age = star_male[0].age;
alert("age:" + age);

迭代获取Array里所有的值:

{
	for(var i in star_male){
		alert("name:" + star_male[i].name);
		alert("age:" + star_male[i]['age']);//换个姿势
	}
	//再换个姿势,下面写法和上面的效果是一样的。
	/*
	for(var i=0;i <star_male.length;i++){
		alert("name:" + star_male[i].name);
		alert("age:" + star_male[i]['age']);//换个姿势
	}*/
}

JSON 文件说明

  • JSON 文件的文件后缀是 ".json",如:sojson.json
  • JSON 文本的 MIME 类型是 "application/json"

版权所属:SOJSON(原创文章)

原文地址:https://www.sojson.com/json/json_syntax.html

转载时必须以链接形式注明原始出处及本声明。

支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...