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": true

Null

表示空值。

"middleName": null

JSON vs XML

特性JSONXML
可读性结构简洁,易读标签繁琐,相对较难读
解析速度快,原生支持好相对较慢,需 XML 解析器
数据体积小,传输快大,传输占用更多带宽
类型支持支持数组、对象等结构化强,但类型表达不如 JSON 直观

常见应用场景

  1. Web API 接口: 前后端分离架构中,数据交互的首选格式。
  2. 配置文件: 如 VS Code 的 settings.json, package.json 等。
  3. NoSQL 数据库: MongoDB 等数据库直接存储类 JSON 格式文档。
  4. 日志记录: 结构化日志存储,便于后续分析。

需要格式化 JSON 数据?

使用在线 JSON 格式化工具