📋

JSON 格式化 & 验证工具

在线格式化、验证和美化 JSON 数据。支持语法高亮和错误检测的 JSON 解析工具。

在上方输入 JSON 以格式化

智能格式化

通过智能缩进和语法高亮,自动美化混乱的 JSON 数据。

压缩 & 精简

即时压缩 JSON 数据大小,适用于生产部署和 API 传输。

即时验证

通过实时验证和精确的错误位置报告,尽早发现语法错误。

常见问题

什么是 JSON 格式化工具?

JSON 格式化工具是一种将原始、压缩(minified)或格式不佳的 JSON 数据重新格式化,添加合适的缩进、换行和空格,使其易于人类阅读的工具。大多数 JSON 格式化工具还包含校验、语法高亮、错误检测,有时还提供键排序、压缩(minification)和树视图导航等额外功能。我们的免费在线 JSON 格式化工具将格式化和校验合二为一,为你提供即时、干净的输出以及详细的错误报告。

为什么我的 JSON 无效?

当 JSON 违反 JSON 规范的严格规则时,它就是无效的。最常见的原因包括: - 尾部逗号:对象或数组的最后一项后面多了逗号 - 缺少双引号:对象键或字符串值没有使用双引号 - 使用单引号:本应使用双引号却用了单引号(单引号在 JSON 中无效) - 未转义的特殊字符:例如字符串中未转义的反斜杠或引号 - 无效的值:例如 undefined、NaN 或 Infinity(这些在 JSON 中没有对应形式) - 花括号或方括号不匹配:{/} 或 [/] 未正确配对 使用 JSON 校验器可以精确定位语法错误的位置和性质。大多数校验器会报告它遇到的第一个问题的行号、列号以及描述性错误信息。

JSON 和 JavaScript 对象有什么区别?

虽然 JSON 语法源自 JavaScript 对象字面量语法,但它们并不是一回事。主要区别包括: 1. 键必须使用双引号 -- JSON 要求 {"key": "value"},而 JavaScript 允许 {key: "value"}(不带引号)和 {'key': 'value'}(单引号)。 2. 字符串值必须使用双引号 -- JSON 只允许字符串使用双引号。JavaScript 单引号和双引号都可以接受。 3. 不允许尾部逗号 -- JSON 禁止在最后一项之后出现逗号。JavaScript 允许。 4. 数据类型有限 -- JSON 仅支持字符串、数字、布尔值、null、对象和数组。JavaScript 对象可以包含函数、undefined、Date、Map、Set 以及其他特殊类型。 5. 不支持注释 -- JSON 不支持注释。源代码中的 JavaScript 对象可以包含注释。 这意味着你不能简单地写一个 JavaScript 对象就把它当作 JSON -- 它必须通过 JSON.stringify() 序列化,或者按照严格的 JSON 规则编写。

JSON 可以有注释吗?

不可以,官方 JSON 规范(RFC 8259)不支持注释。JSON 被设计为一种极简、与语言无关的数据交换格式,刻意排除了注释,以便让解析器在各种语言中保持简单和一致。 如果你需要注释,有以下几种选择: - JSONC(JSON with Comments) -- VS Code 等工具将其用于配置文件。JSONC 允许 // 行注释和 / / 块注释。 - YAML 或 TOML -- 原生支持注释的替代配置格式。 - 基于约定的元数据 -- 在 JSON 对象中使用 "_comment" 或 "//" 这样的键来存储人类可读的说明。注意这会给你的数据负载增加内容。 - 解析前移除注释 -- 在将 JSON 传给严格解析器之前,使用预处理步骤删除注释。

如何在线校验 JSON?

在线校验 JSON 非常简单: 1. 复制你的 JSON 数据 2. 粘贴到 JSON 校验工具中 3. 点击校验或格式化按钮 4. 工具要么报告 JSON 有效,要么显示错误并标明问题的确切位置和描述 一个好的 JSON 校验器应该: - 根据官方 JSON 规范(RFC 8259)校验语法 - 显示错误的行号和列号 - 提供描述性错误信息,说明出错原因 - 可选地同时格式化并美化 JSON - 针对不同类型的数据用颜色高亮语法 对于大型或敏感数据,许多在线校验器会在浏览器中全程在客户端处理,这意味着你的数据永远不会离开你的设备。

压缩(minified)JSON 是什么意思?

压缩(minified)JSON 是指移除了所有不必要空白的 JSON -- 空格、制表符、换行和缩进都被剥离。结果是单行(或极少数行)的紧凑文本: 压缩(minified)JSON 在生产环境中使用有几个原因: - 文件更小 -- 可以将负载大小减少 30-50% 甚至更多 - 网络传输更快 -- 需要传输的数据更少意味着延迟更低 - 带宽成本更低 -- 对高流量 API 和移动应用尤其重要 代价是压缩(minified)JSON 对人类来说基本上不可读。使用 JSON 美化打印工具将压缩的 JSON 重新格式化为可读结构,以便调试或检查。

如何在命令行中美化打印 JSON?

有几种命令行工具可以美化打印 JSON: 使用 jq(最流行,需单独安装): 使用 Python(大多数系统自带): 使用 Node.js: 使用 curl(美化打印 API 响应): 推荐使用 jq 工具,因为它有彩色输出、查询能力和健壮的错误处理。

什么是 JSON Schema?

JSON Schema 是一种词汇表(vocabulary),允许你对 JSON 文档进行标注和校验。它定义了一个 JSON 文档必须满足的结构、数据类型和约束。可以把它看作是你 JSON 数据的契约或规范。 JSON Schema 的关键能力: - 类型校验 -- 指定某个值必须是字符串、数字、布尔值、数组、对象还是 null - 必填字段 -- 将某些属性标记为必填 - 值约束 -- 设置最小值/最大值、字符串模式(regex)和允许的值(枚举) - 数组校验 -- 控制数组长度、元素类型和唯一性 - 嵌套校验 -- 为嵌套对象和数组定义 schema - 条件校验 -- 根据其他字段的值应用不同的规则 JSON Schema 示例: JSON Schema 通常用于校验 API 请求体、配置文件以及服务之间的数据交换契约。

相关工具

JSON 格式化 & 验证工具 - CoolTool