最新的Web开发教程
 

JSON语法


该JSON语法是JavaScript语法的子集。


JSON语法规则

JSON语法是从JavaScript对象符号语法得出:

  • 数据以名称/值对
  • 数据由逗号分隔
  • 大括号持有的对象
  • 方括号持有数组

JSON数据 - 一个名字和一个值

JSON数据被写为名称/值对。

一个名称/值对由字段名称(在双引号),后跟一个冒号,然后是值的:

"firstName":"John"

JSON名称使用双引号。 JavaScript的名字没有。


JSON值

JSON值可以是:

  • 数字(整数或浮点数)
  • 一个字符串(双引号)
  • 布尔(true或false)
  • 数组(方括号内)
  • 一个对象(在大括号)
  • 空值

JSON对象

JSON对象写入花括号内。

就像JavaScript的,JSON对象可以包含多个名称/值对:

{"firstName":"John", "lastName":"Doe"}

JSON阵列

JSON阵列都写在方括号内。

就像JavaScript中,一个JSON数组可以包含多个对象:

"employees":[
    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter","lastName":"Jones"}
]

在上面的例子中,对象"employees"是含有三个对象阵列。 每个对象是一个人的记录(具有第一名字和姓氏)。


JSON使用JavaScript语法

由于JSON语法是从JavaScript对象符号衍生,需要非常少的额外软件中的JavaScript使用JSON工作。

使用JavaScript,您可以创建一个对象数组并分配数据,就像这样:

var employees = [
    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter","lastName": "Jones"}
];

JavaScript对象数组中的第一项可以这样访问:

// returns John Doe
employees[0].firstName + " " + employees[0].lastName;
试一试»

它也可以像这样访问:

// returns John Doe
employees[0]["firstName"] + " " + employees[0]["lastName"];
试一试»

数据可以被修改如下:

employees[0].firstName = "Gilbert";
试一试»

它也可以被修改如下:

employees[0]["firstName"] = "Gilbert";
试一试»

在下一章中,您将学习如何将JSON文本转换为JavaScript对象。


JSON文件

  • 对于JSON文件的文件类型是".json"
  • MIME类型为JSON文本是"application/json"