📋 JSON 入门指南:从零开始理解 JSON 数据格式

发布于 2026 年 8 月 · 阅读约 5 分钟

什么是 JSON?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它由 Douglas Crockford 在 2001 年提出,设计灵感来源于 JavaScript 的对象字面量语法,但现在已经独立于任何编程语言,成为互联网上最通用的数据格式标准。

根据 JSON 官网的描述,JSON 易于人类阅读和编写,也易于机器解析和生成。相比早期的 XML 格式,JSON 更加简洁:同样的数据结构,JSON 的体积通常只有 XML 的三分之一到一半,这也是它迅速取代 XML 成为 Web API 主流数据格式的重要原因。

JSON 的基本语法

JSON 只支持六种数据类型,理解它们就掌握了 JSON 的全部语法:

  • 对象(Object) — 用花括号 {} 包裹,包含一组键值对,例如 {"name": "张三"}
  • 数组(Array) — 用方括号 [] 包裹,包含一组有序的值,例如 [1, 2, 3]
  • 字符串(String) — 用双引号包裹的 Unicode 文本,例如 "hello"
  • 数字(Number) — 整数或浮点数,例如 423.14
  • 布尔值(Boolean) — 只有 truefalse 两个值
  • null — 表示空值

JSON 对象中的键名必须用双引号包裹,这是初学者最容易忽略的规则。JavaScript 对象允许单引号或裸键名,但 JSON 严格要求双引号。

一个完整的 JSON 示例

{ "user": { "id": 1001, "name": "张三", "isActive": true, "email": null, "skills": ["JavaScript", "Python", "SQL"], "address": { "city": "北京", "zip": "100000" } } }

这个示例展示了对象嵌套、数组、字符串、数字、布尔值和 null 的组合使用。在实际的 API 响应中,数据结构通常比这更复杂,但基本语法都是一样的。

JSON 的主要应用场景

1. Web API 数据传输

前后端分离架构中,后端通过 RESTful API 或 GraphQL 返回 JSON 数据,前端 JavaScript 使用 JSON.parse() 解析后渲染到页面。这是 JSON 最广泛的应用。

2. 配置文件

现代开发工具大量使用 JSON 作为配置文件格式:Node.js 的 package.json、TypeScript 的 tsconfig.json、ESLint 的 .eslintrc.json、VS Code 的 settings.json 等。

3. 数据存储与交换

NoSQL 数据库如 MongoDB 直接使用类似 JSON 的文档格式存储数据。数据导入导出、不同系统之间的数据交换也常使用 JSON 作为中间格式。

4. 日志与监控

结构化日志以 JSON 格式输出,便于日志分析系统(如 ELK Stack)自动解析和检索。

JSON 常见错误与解决方法

错误一:键名使用单引号

{'name': '张三'} 是无效的 JSON。必须改为 {"name": "张三"}。JavaScript 对象和 JSON 的最大区别就在这里。

错误二:末尾多余逗号

{"a": 1, "b": 2,} 中最后一个元素后面的逗号是无效的。数组也一样,最后一个元素后不能有逗号。

错误三:注释

JSON 不支持注释。如果你需要在配置文件中写注释,可以考虑使用支持注释的 JSONC(JSON with Comments)格式,但标准 JSON 中不能有注释。

错误四:字符串中的未转义字符

字符串中的双引号和反斜杠需要转义:"他说:\"你好\""。换行符需要用 \n 表示,不能直接在字符串中换行。

如何检查 JSON 是否合法

当你手写或修改 JSON 数据时,很容易出现语法错误。使用我们的 JSON 格式化/校验工具,粘贴内容后工具会自动检查语法并定位错误位置。格式化功能还能将压缩的 JSON 变成易读的缩进格式,方便排查问题。

JSON 与 JavaScript 对象的区别

特性JSONJavaScript 对象
键名必须双引号可省略引号或单引号
函数不支持支持
注释不支持支持
undefined不支持支持
用途数据交换程序内部结构

小结

JSON 是每一位开发者都应该熟练掌握的基础格式。掌握了它的六种数据类型和严格的语法规则,你就能轻松阅读和编写任何 JSON 数据。如果遇到格式问题,随时可以使用本站的 JSON 工具进行格式化和校验。