JSON 验证器
按 RFC 8259 语法验证 JSON,精确显示错误所在的行、列和原因,并提供重复键警告和结构统计。
完全在浏览器中运行,您的数据不会被上传。
相关工具
查看全部什么是 JSON 验证?
JSON 验证器按照 RFC 8259 检查文本是否为有效的 JSON。输入无效时,它会显示第一个错误的行号和列号、用通俗语言写出的原因,以及带插入符标记的出错源码行。输入有效时,它会汇总结构信息并对重复键给出警告。
如何使用 JSON 验证
- 把 JSON 粘贴到输入框中。
- 点击 验证(输入时结果也会同步更新)。
- 如果有错误,查看行号、列号和高亮的源码行,修正后再次验证。
- JSON 有效时,查看摘要(根类型、对象、数组和值的数量、嵌套深度)以及重复键警告。
示例
{
"a": 1
"b": 2
} Line 3, column 3 – Expected "," or "}" after the property value
错误信息下方会显示源码行,并在“b”下面用插入符标出位置。
何时使用 JSON 验证
适合在提交配置文件之前、API 拒绝你的请求体时,或者 JSON.parse 只告诉你“Unexpected token”时使用。它只检查语法;如果要检查数据的字段和类型是否正确,请使用 JSON Schema 验证器。JSON5/JSONC 文件会被判定为无效。
JSON 验证 的工作原理
严格的递归下降解析器逐字符读取文本并跟踪当前位置。凡是 JSON 语法禁止的内容都会被拒绝,包括单引号、注释、末尾逗号、前导零、NaN、未转义的控制字符以及根值之后的多余内容,并报告发现问题的位置。解析成功后,它会遍历语法树,统计对象、数组和标量值的数量并计算嵌套深度。同一个对象里出现两次的键会连同位置一起报告,因为大多数解析器会悄悄只保留最后一个值。
常见用例
- 找出 API 对 JSON 请求体返回 400 Bad Request 的原因
- 检查手工编辑的 package.json 或类似 tsconfig 的文件(不含注释)
- 发现会悄悄覆盖值的重复键
- 学习 JSON 的精确语法规则
安全提示
所有处理都在你的浏览器本地完成,粘贴的代码不会被上传。
常见问题
允许使用注释吗?
不允许。JSON 没有注释语法,// 和 /* */ 都会被报告为错误。
为什么重复键只是警告?
RFC 规定名称“应该”唯一,但并没有把重复视为无效。大多数解析器会保留最后一个值,这往往会掩盖错误。
它会按 schema 验证吗?
不会,它只检查语法。结构规则请使用 JSON Schema 验证器。
列号按字符还是字节计算?
按字符(UTF-16 代码单元)计算,从 1 开始。