JSON 详解:现代 Web 数据交换的标准
什么是 JSON?
JSON(JavaScript Object Notation,JavaScript 对象表示法)是一种轻量级的数据交换格式。它基于 ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
JSON 的核心特性
- 轻量级: 相比 XML,JSON 格式更加简洁,数据体积更小,网络传输速度更快。
- 语言无关: 虽然源于 JavaScript,但目前几乎所有现代编程语言(Python, Java, C#, PHP, Go 等)都支持 JSON。
- 自我描述性: JSON 结构清晰,易于理解和阅读。
- 易于解析: 各种语言都有内置或第三方库可以轻松解析和生成 JSON 数据。
JSON 语法规则
JSON 语法是 JavaScript 对象表示法语法的子集:
📦
数据在名称/值对中
➗
数据由逗号分隔
📋
花括号保存对象
📑
方括号保存数组
代码示例
{
"employees": [
{
"firstName": "Bill",
"lastName": "Gates"
},
{
"firstName": "George",
"lastName": "Bush"
},
{
"firstName": "Thomas",
"lastName": "Carter"
}
]
}JSON 数据类型
字符串 (String)
必须用双引号包围。
"name": "John"数字 (Number)
整数或浮点数。
"age": 30对象 (Object)
用于包含键值对。
"address": {...}数组 (Array)
有序的值的集合。
"hobbies": [...]布尔值 (Boolean)
true 或 false。
"isStudent": trueNull
表示空值。
"middleName": nullJSON vs XML
| 特性 | JSON | XML |
|---|---|---|
| 可读性 | 结构简洁,易读 | 标签繁琐,相对较难读 |
| 解析速度 | 快,原生支持好 | 相对较慢,需 XML 解析器 |
| 数据体积 | 小,传输快 | 大,传输占用更多带宽 |
| 类型支持 | 支持数组、对象等 | 结构化强,但类型表达不如 JSON 直观 |
常见应用场景
- Web API 接口: 前后端分离架构中,数据交互的首选格式。
- 配置文件: 如 VS Code 的 settings.json, package.json 等。
- NoSQL 数据库: MongoDB 等数据库直接存储类 JSON 格式文档。
- 日志记录: 结构化日志存储,便于后续分析。
需要格式化 JSON 数据?
使用在线 JSON 格式化工具