了解 Web 上最流行的数据交换格式。学习它的语法、用法,以及为什么它成为了现代 API 的标准。
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它易于人阅读和编写,同时也易于机器解析和生成。它是基于 JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999 的一个子集。
JSON 主要用于在服务器和 Web 应用程序之间传输数据,是 XML 的替代方案。
REST API 发送和接收数据的标准格式。
许多现代应用程序(如 VS Code、package.json)使用 JSON 存储设置。
MongoDB 和 CouchDB 等 NoSQL 数据库使用类 JSON 文档进行存储。
为什么 JSON 能够成为数据交换的事实标准?
比 XML 更简洁,文件体积更小,网络传输更快。
几乎所有编程语言(Python, Java, C#, PHP 等)都支持且易于解析。
结构清晰,易于阅读和理解。
JavaScript 引擎可直接解析和处理,无需额外库。
JSON 建构于两种结构:“名称/值”对的集合(对象)和值的有序列表(数组)。
名称/值对包括字段名称(在双引号中),后面跟一个冒号,然后是值。
每个名称/值对或数组中的值由逗号分隔。
对象由花括号 {} 包围。一个对象可以包含多个名称/值对。
数组由方括号 [] 包围。一个数组可以包含多个值。
{
"string": "Hello World",
"number": 42,
"boolean": true,
"null": null,
"object": {
"key": "value"
},
"array": [
1,
2,
3
]
}对比这两种最流行的数据交换格式。
| 特性 | JSON | XML |
|---|---|---|
| 可读性 | 易读(干扰少) | 较难(标签冗余) |
| 解析速度 | 快(原生支持) | 慢(需要解析器) |
| 数据类型 | 丰富(字符串、数字、数组...) | 主要是字符串 |
| 体积 | 紧凑 | 庞大(闭合标签) |
如何高效使用 JSON 并避免常见误区。
始终使用 UTF-8 编码 JSON 数据,以确保跨系统兼容性。
JSON 没有日期类型。请使用 ISO 8601 字符串(如 "2023-01-01T12:00:00Z")。
标准 JSON 不允许尾随逗号,这会导致解析错误。
按照惯例,JSON 键名使用驼峰命名法(如 "userName")以保持一致性。
不是。虽然 JSON 衍生自 JavaScript,但它是一种独立于语言的数据格式。许多编程语言都提供了解析和生成 JSON 数据的代码。
JSON 支持字符串(String)、数字(Number)、布尔值(Boolean)、Null、对象(Object)和数组(Array)。
JSON 比 XML 更轻量、更易读,解析速度更快。它占用更少的带宽,并且与 JavaScript 原生兼容,非常适合 Web 应用程序。