JSON验证工具

验证JSON语法和结构

加载示例
本地运行 · 粘贴密钥安全无忧

什么是 JSON 验证?

JSON 验证是检查一段文本是否符合 JSON 规范的过程。有效的 JSON 文档具有正确的语法:正确加引号的字符串、没有尾随逗号、没有注释以及单个根元素。验证会立即告诉您 JSON 是否可以解析——如果不能,则精确指出问题所在。

有效的 JSON
json
{
  "user": "alice",
  "age": 30,
  "active": true,
  "tags": ["admin", "editor"]
}
无效的 JSON — 尾随逗号
json
{
  "user": "alice",
  "age": 30,
}

为什么要验证 JSON?

无效的 JSON 会悄无声息地破坏 API、配置加载器和数据管道。一个错误的逗号可能导致整个应用程序无法启动。在开发阶段发现这些错误——而不是在生产环境——是顺利发布和出现故障之间的区别。

📍
精准定位错误
验证器不仅告诉您 JSON 无效,还能识别错误发生的确切行和列,让您直接跳到问题所在。
即时验证
实时验证在您编辑时提供即时反馈。您可以看到错误在修复时消失——无需点击按钮或等待构建。
🔍
区分语法与逻辑
JSON 验证只捕获语法错误。它确认文档可以解析,与值是否在语义上对您的应用程序正确无关。
🔒
隐私优先设计
所有验证都在您的浏览器中运行。凭证、API 密钥和敏感数据永远不会发送到服务器。

常见的 JSON 验证错误

这四种错误占 JSON 验证失败的绝大多数:

尾随逗号
对象或数组中最后一个元素后面的逗号。在 JavaScript 中有效,但在 JSON 中严格禁止。
json
{ "a": 1, "b": 2, }
单引号字符串
单引号在 JSON 中无效。键和值都必须使用双引号。
json
{ 'key': 'value' }
Undefined 和 NaN
undefined、NaN 和 Infinity 是 JavaScript 值,但不是有效的 JSON。请改用 null 或数字字符串。
json
{ "val": undefined }
未加引号的键
JSON 要求所有对象键都是双引号包裹的字符串。像 JavaScript 对象那样的裸标识符是不允许的。
json
{ key: "value" }

常见使用场景

API 合约验证
根据预期格式验证请求和响应体,在进入生产环境之前发现集成错误。
配置文件质量保证
在提交之前验证 package.json、tsconfig.json 和其他配置文件,确保它们能正确解析。
数据管道验证
在处理之前检查从外部来源或用户上传中摄取的数据是否语法正确。
CI/CD 预检查
将 JSON 验证作为构建步骤运行,防止部署无效的配置文件。
学习与调试
将验证器用作学习工具,了解为什么特定的 JSON 语法模式有效或无效。
生成 JSON 的质量保证
在使用之前验证代码生成器、模板或序列化器生成的 JSON 是否格式正确。

常见问题

JSON 验证和 JSON Schema 验证有什么区别?
JSON 验证(本工具所做的)检查语法——文档是否是可解析的 JSON。JSON Schema 验证是一个单独的步骤,检查值是否符合定义的结构、类型和约束。
JSON5 或 JSONC 是有效的 JSON 吗?
不是。JSON5(允许单引号、注释、尾随逗号)和 JSONC(允许注释)是 JSON 的超集,但不是有效的标准 JSON。本工具按照严格的 JSON 规范(RFC 8259)进行验证。
为什么我的 JSON 看起来正确但解析失败?
最常见的隐性原因是:最后一个属性后的尾随逗号、文件开头的字节顺序标记(BOM)或单引号字符串。将您的 JSON 粘贴到验证器中以找到确切位置。
JSON 可以包含注释吗?
不可以——JSON 规范(RFC 8259)明确禁止注释。如果您需要在配置文件中使用注释,请在本地使用 JSONC 或 JSON5,然后在序列化之前删除注释。
什么是有效的 JSON 根值?
任何 JSON 值都可以作为根:对象 {}、数组 []、字符串、数字、true、false 或 null。实际上大多数 API 在根部使用对象或数组,但所有六种类型在语法上都是有效的。