第 1 课
什么是 JSON
JSON 的定义、发展背景及在现代软件中的位置。
JSON 是 JavaScript Object Notation(JavaScript 对象表示法)的缩写。尽管名字里有 JavaScript,JSON 本身是一种 基于文本的数据格式,不是编程语言。任何带有 JSON 解析器的语言都能读写它——Python、Java、Go、Rust 等皆然。
一个最小示例
{
"name": "Ada",
"active": true,
"score": 98.5
}
这段文档描述了一个对象,包含三个属性:字符串、布尔值和数字。
JSON 为何流行
在 JSON 成为 Web API 主流之前,XML 更为常见。JSON 通常 更短、更易扫读,同时仍便于机器解析。它也能自然映射到多数语言中的对象与数组。
如今 JSON 常见于:
- REST、GraphQL 等 API 的请求与响应体
- 各类工具、CI 与云服务的 配置文件
- 以文档形式存储的 NoSQL 数据库
- 便于分析的 日志与事件流
JSON 与 JavaScript 对象字面量
JavaScript 代码可以看起来很像 JSON,但二者 并不等同:
| 特性 | JSON | JavaScript 对象 |
|---|---|---|
| 键名 | 必须是双引号字符串 | 可无引号标识符 |
| 尾逗号 | 不允许 | 通常允许 |
| 注释 | 不允许 | 支持 // 与 /* */ |
函数、undefined | 不允许 | 允许 |
把 JavaScript 对象写法直接当作 JSON 使用,是常见的解析错误来源。本课程后续章节将说明 JSON 的严格规则。
要点
JSON 是一种 严格、可移植的结构化文本格式。掌握其规则,有助于阅读 API、编写配置并自信地排查无效数据。