外观风格
JSON 语法
JSON 语法是 JavaScript 语法的子集。
JSON 基础语法
JSON 语法是 JavaScript 对象表示法语法的子集。
- 数据在键/值对中。
- 数据由逗号分隔。
- 大括号保存对象。
- 中括号保存数组。
- 用
//
或/**/
表示注释。 - 通常将数据包裹在
{}
中使用。
JSON 键/值对
JSON 数据的书写格式是:key(键): value(值)。
键/值对包括字段名称(在双引号中),后面写一个冒号,然后是值
"name" : "devcursor"
1
对应的 JavaScript 语句:
let name = 'devcursor'
1
在 JavaScript 中,键的双引号可以省略,但在 JSON 中是不可以的。
JSON 数据类型
JSON 的值可以是以下几种:
- 数字(整数或浮点数)。
- 字符串(在双引号中)。
- 布尔值(true 或 false)。
- 数组(在中括号中)。
- 对象(在大括号中)。
- null。
JSON 数字
数字可以是整数或者浮点数。
{
"age": 30,
"height": 175.5
}
1
2
3
4
2
3
4
提示
数字类型的值可以不带双引号。
最佳实践
每个键值对单独一行。
值前面带一个空格。
JSON 字符串
{
"name": "devcursor",
}
1
2
3
2
3
JSON null
JSON 可以设置值为 null
。
{ "name": null, }
1
JSON 布尔值
JSON 布尔值可以是 true
或者 false
{ "flag": true, }
1
JSON 对象
JSON 对象和 JavaScript 对象一样,在大括号 {}
中书写。
JSON 对象可以包含多个键/值对。
{
"name": "devcursor",
"url": "www.devcursor.com"
}
1
2
3
4
2
3
4
对象的值可以是任意的 JSON 数据类型,也可以在对象中嵌套多个对象。
{
"name": "devcursor", // 字符串
"count": 100 /*数字*/,
"url": "www.devcursor.com",
"good": true, // 布尔值
"yachts": null, // null,空值
"docs": ["json", "yaml"], // 数组
"object": {
// 对象
"sex": "girl",
"features": ["漂亮", "善良"]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
JSON 数组
数组的值可以是任意的 JSON 数据类型,也可以在数组中嵌套多个数组。
{
"name": ["devcursor", "good"], // 字符串数组
"count": [100, 99, 98] /*数字数组*/,
"good": [true, false], // 布尔值数组
"yachts": [null, 100, "devcursor"], // 复合数据类型的数组
"docs": [
// 对象数组
{ "name": "json" },
{ "name": "yaml" }
],
"object": [ // 嵌套数组
[
{
"sex": "girl",
"features": ["漂亮", "善良"]
}
],
[
{
"sex": "girl",
"features": ["漂亮", "可爱"]
}
]
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25