第 2 课
JSON 语法基础
括号、逗号、冒号及合法 JSON 必须遵守的规则。
JSON 文档由少量标点规则构成。熟悉这些规则后,修复无效文件会容易得多。
两种结构形式
JSON 的值要么是:
- 对象 — 用
{}包裹,包含 键值对 - 数组 — 用
[]包裹,包含 有序的值列表
一个文件可以是单个对象、单个数组,或(较少见)单个原始值,如 "hello" 或 42。
对象:键与冒号
对象内每条记录形如:
"key": value
规则:
- 键 必须 是双引号字符串
- 冒号
:分隔键与值 - 逗号
,分隔条目——最后一项后不能有逗号
{
"id": 1,
"label": "primary"
}
数组:有序值
数组按顺序列出值,无键名:
["red", "green", "blue"]
同一数组内可混合不同类型(与部分强类型语言不同),但 API 设计常保持元素类型一致。
嵌套
对象与数组可任意相互嵌套:
{
"users": [
{ "id": 1, "roles": ["admin", "editor"] },
{ "id": 2, "roles": ["viewer"] }
]
}
空白字符
字符串外的空格、制表符与换行 无语法意义。格式化是为人类阅读;解析器会忽略多余空白。
合法的顶层形态
| 合法 | 不合法 |
|---|---|
{ ... } | { key: "x" }(键未加引号) |
[ ... ] | 'string'(单引号) |
"text"、42、true、null | { "a": 1, }(尾逗号) |
下一课将详细讲解各类 值类型。