JSON 格式验证怎么做?常见报错原因与修复方法

JSON 格式验证的核心动作只有一步:把待检查的文本交给一个符合 JSON 规范的解析器,看它能否完整解析。能解析通过,说明这段文本是合法 JSON;解析中断并抛出错误,说明存在语法问题,错误信息通常会指出出错的位置和原因。在 JSON.cn 这类在线工具里,把内容粘贴进输入框即可得到验证结果,适合快速确认一段配置、接口返回值或日志片段是否合法。验证通过后再做格式化、压缩或与 XML 互转,可以避免把带语法错误的数据继续传递下去。

用在线工具验证 JSON 的操作步骤

  1. 打开 JSON.cn 的在线解析/格式化页面。
  2. 把待验证的 JSON 文本粘贴到输入区。如果工具支持文件上传,也可以直接上传 .json 文件。
  3. 触发解析或格式化操作,观察输出区。
  4. 判断结果:
    • 输出区正常显示出缩进后的结构,说明 JSON 合法。
    • 出现红色报错或提示信息,说明不合法,需要按提示定位修复。

验证和格式化通常是同一次操作的两个结果:解析成功才会格式化,解析失败就只剩报错。所以看到格式化后的内容,本身就是验证通过的信号。

常见报错信息怎么读

不同解析器的措辞不完全一样,但指向的问题类型基本一致。下面这些是高频出现的:

报错关键词 大致含义 常见原因
Unexpected token 在某个位置遇到了不该出现的字符 多写、少写符号,或用了非法字符
Expected property name 期望出现属性名(键) 对象里键没加引号,或逗号位置不对
Unexpected end of input / EOF 输入意外结束 括号、引号没闭合,内容被截断
Expected ',' or '}' 期望逗号或右花括号 对象成员之间缺逗号,或多了内容
Unexpected non-whitespace character 出现多余的非空白字符 末尾多了分号、注释或额外文本

读报错时优先看它给出的行号和列号,直接跳到那个位置附近检查。很多解析器还会把出错字符前后的一小段内容一起显示出来,比只看文字描述更直观。

高频语法错误与修复方法

尾随逗号

{
  "name": "test",
  "age": 18,
}

最后一个成员后面多了逗号。JSON 不允许尾随逗号,删掉 18 后面的逗号即可。

用单引号代替双引号

{ 'name': 'test' }

JSON 的键和字符串值都必须用双引号。改成 { "name": "test" }。

键没有加引号

{ name: "test" }

对象里的键必须是带双引号的字符串,改成 { "name": "test" }。

写入了注释

{
  "name": "test" // 这是注释
}

标准 JSON 不支持 // 或 /* */ 注释。要么删掉注释,要么改用支持注释的格式(如 JSON5、JSONC),但那样就不再是标准 JSON。

字符串里有未转义的特殊字符

{ "path": "C:\Users\test" }

反斜杠在 JSON 字符串里是转义符,\U 不是合法转义序列。路径要写成 "C:\\Users\\test"。同理,字符串内部的换行、制表符、双引号都需要转义为 \n、\t、\"。

文件开头带 BOM

有些编辑器保存 UTF-8 文件时会加上字节顺序标记(BOM),它在文件开头,肉眼看不见,但会让解析器在第一个字符就报错。解决办法是用编辑器另存为「UTF-8 无 BOM」,或把开头那个不可见字符删掉。

括号或引号不配对

嵌套层级一多,很容易漏掉一个 } 或 ]。这类问题通常报 Unexpected end of input。建议借助编辑器的括号匹配高亮,或先把内容格式化再逐层核对。

定位错误的实用顺序

  1. 先看报错的行号、列号,跳到对应位置。
  2. 检查该位置前后的括号、引号、逗号是否配对和齐全。
  3. 如果报错位置看起来没问题,往前找——解析器往往是在读到下一个字符时才确认前面出了问题。
  4. 内容很长时,把 JSON 按顶层结构拆成几段分别验证,缩小范围。
  5. 确认没有注释、单引号、尾随逗号、BOM 这几类高频问题。

验证通过之后

验证只是第一步。确认合法后,可以继续在 JSON.cn 上做格式化(加缩进便于阅读)、压缩(去掉空白减小体积)、转义处理,或与 XML 相互转换。顺序上建议先验证再转换,因为带语法错误的 JSON 转成 XML 只会把问题一起带过去,排查起来更麻烦。

如果这段 JSON 来自接口返回或程序输出,验证不通过时还要回头检查生成端:是不是拼接字符串时漏了转义,是不是序列化库配置有误。工具只能告诉你「哪里不合法」,修不修、怎么修,取决于数据是怎么产生的。

json.cn
Json中文网致力于在中国推广Json,并提供相关的Json解析、验证、格式化、压缩、编辑器以及Json与XML相互转换等服务