JSON是什么格式?JSON语法、格式化与常见报错排查

JSON 是程序之间传递数据的通用格式,长这样:{"name": "张三", "age": 20}。接口返回、配置文件、前后端通信——只要和开发沾边就绕不开它。JSON 报错 90% 拔不出五种原因:单引号、尾逗号、中文引号、键没加引号、混入注释。本文 6 分钟讲清语法规则和报错排查法。

JSON 语法 6 条铁律

  1. 键必须用英文双引号:{name: "张三"} 是错的,{"name": "张三"} 才对;
  2. 字符串只能用双引号:单引号 '张三' 不合法(JavaScript 里合法,JSON 里不行——最常见的坑);
  3. 不能有尾逗号:[1, 2, 3,] 报错;
  4. 不能用中文引号:从 Word 或聊天窗口复制出来的 " " 必须换成 " ";
  5. 没有注释:标准 JSON 不支持 // 或 /* */ 注释;
  6. 值只有 6 种类型:字符串、数字、布尔(true/false)、null、对象 {}、数组 []。函数、undefined、日期对象都不存在。

报错排查:别用肉眼找

一个 500 行的 JSON 少个逗号,肉眼找半小时。正确做法是用带错误定位的格式化工具:粘贴进去,工具直接告诉你第几行第几列出错,一键美化后结构一目了然(对象可折叠成树形浏览)。排查完如果需要减小体积,再一键压缩回单行。

格式化 vs 压缩:同一数据的两种形态

形态样子用途
格式化(美化)带缩进换行人读、排查、编辑
压缩(单行)无空白传输、存储、日志输出

两者可随时互转,数据内容不变。

3 个进阶小知识

  • JSON vs XML:XML 标签冗长、解析繁琐,现代接口几乎全面转向 JSON;XML 仍在文档领域(如 Office 文件内部)使用;
  • JSON5 / JSONC:允许注释和尾逗号的"宽松版 JSON",VSCode 的 settings.json 就是 JSONC——但纯 JSON 解析器不认;
  • 超大 JSON:浏览器内处理受内存限制,几十 MB 的 JSON 格式化没问题,数百 MB 建议本地脚本(如 Python 的 json 模块)流式处理。
JSON 格式化工具 美化/压缩/转义,报错精确定位到行列,支持树形浏览,本地处理
格式化 JSON

常见问题(FAQ)

JSON是什么,用在哪里?

JSON(JavaScript Object Notation)是一种轻量级数据交换格式,形如 {"name": "张三", "age": 20}。程序之间传数据、接口返回、配置文件(package.json 等)都用它,是开发者最常打交道的数据格式。

JSON报错最常见的5个原因?

①键或字符串用了单引号(必须双引号);②最后一个元素后多了尾逗号;③用了中文引号""而非英文引号;④键没加引号;⑤混入了注释(标准JSON不允许注释)。用带错误定位的工具能直接跳到出错行列。

JSON文件能加注释吗?

标准JSON不支持注释。需要注释的场景用带BOM问题的JSON5或JSONC(VSCode的settings.json就是JSONC),或在数据里加一个"_comment"字段。纯JSON解析器遇到注释一定报错。

格式化和压缩JSON有什么用?

格式化(美化)是加缩进换行方便人读和排查;压缩是去掉所有空白减小体积,用于传输和存储。同一份数据的两种形态,用工具可随时互转,不改变数据内容。