5月29日 01:08

JSON 是什么?为什么它能取代 XML 成为数据交换的主流格式?

JSON(JavaScript Object Notation)是一种基于文本的轻量级数据交换格式,采用键值对和数组的结构来组织数据。它脱胎于 JavaScript 对象字面量语法,但已被所有主流编程语言支持,成为 Web API 响应的事实标准。相比 XML,JSON 去掉了冗余的闭合标签,数据体积更小、解析更快,且天然映射为编程语言的内置数据结构(对象和数组),无需额外的 DOM 解析层。JSON 的主要用途包括:客户端与服务端之间的数据传输、配置文件(如 package.json、tsconfig.json)、NoSQL 数据库存储(如 MongoDB),以及跨语言的数据序列化。

追问

  • JSON 和 JavaScript 对象字面量有什么区别?哪些合法的 JS 对象在 JSON 中是非法的?
  • 为什么 JSON 不支持注释?这在配置场景下会带来什么问题,社区有哪些变通方案?
  • JSON 中的数字类型为什么不区分整数和浮点数?这会导致什么精度问题?
  • 如果要在跨语言场景中使用 JSON 传递日期,有哪些常见的约定做法?
  • JSON5 和 JSON 的关系是什么?为什么不推荐在生产环境使用 JSON5?

写段代码

javascript
const data = { name: "Alice", scores: [95, 87, 92], active: true }; const json = JSON.stringify(data); const parsed = JSON.parse(json); console.log(parsed.scores[0]); // 95
标签:JSON