1. 什么是JSON?
1.1. JSON指的是JavaScript对象标记法(JavaScript Object Notation)。
1.2. JSON使用JavaScript语法, 但是JSON格式是纯文本的。
1.3. JSON独立于语言。JSON文本可被任何编程语言作为数据来读取和使用。
1.4. JSON是一种轻量级的数据交换格式。JSON的常规用途是同web服务器进行数据交换。
2. JSON语法规则
2.1. JSON语法衍生于JavaScript对象标记法语法:
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号容纳对象
- 方括号容纳数组
3. JSON数据
3.1. JSON数据写为名称/值对。
3.2. 名称/值由字段名称构成, 后跟冒号和值:
"name": "Bill Gates"
3.3. 在JSON中, 键必须是字符串, 由双引号包围。而JavaScript名称可以是字符串、数字或标识符名称, 我们一般用标识符, 不需要双引号。
name: "Bill Gates"
3.4. JSON格式几乎等同于JavaScript对象。
3.4.1. JSON
{ "name": "Bill Gates" }
3.4.2. JavaScript
{ name: "Bill Gates" }
4. JSON值
4.1. 在JSON中, 值必须是以下数据类型之一:
- 字符串
- 数字
- 对象(JSON对象)
- 数组
- 布尔
- null
4.2. 在JavaScript中, 值包括:
- 字符串
- 数字
- 对象(JavaScript对象)
- 数组
- 布尔
- null
- 表达式
- 函数
- 日期
- undefined
4.3. 在JSON中, 字符串值必须由双引号编写:
{ "name": "Bill Gates" }
4.4. 在JavaScript中, 您可以书写使用双引号或单引号的字符串值:
{ name: 'Bill Gates' }
5. JSON文件
5.1. JSON文件的文件类型是".json"。
5.2. JSON文本的MIME类型是"application/json"。
6. JSON字符串
6.1. JSON中的字符串必须用双引号包围。
6.2. 实例
{ "name": "John" }
7. JSON数字
7.1. JSON中的数字必须是整数或浮点数。
7.2. 实例
{ "age": 30 }
8. JSON布尔
8.1. JSON 中的值可以是 true/false。
8.2. 实例
{ "sale": true }
9. JSON null
9.1. JSON 中的值可以是 null。
9.2. 实例
{ "middlename": null }
10. JSON对象
10.1. JSON中的值可以是对象。
10.2. 实例
{
"employee": { "name": "Bill Gates", "age": 62, "city": "Seattle" }
}
10.3. JSON中作为值的对象必须遵守与JSON对象相同的规则。
11. JSON数组
11.1. JSON中的值可以是数组。
11.2. 实例
{
"employees": [ "Bill", "Steve", "David" ]
}