JSON Beautifier,在线格式化器和验证器

立即实时打印、验证和 minify JSON 数据。我们的 JSON 格式化程序可以精确定位 语法错误的行和列,递归地对对象键进行排序以进行干净的差异,压缩短基元数组,甚至可以 自动修复宽松的 JSON / JSONC (尾随逗号、注释、单引号和不带引号的键)。

Quick Presets:

输入:0 字符

输出:0 字符

按键:0

最大深度:0

如何在线格式化、验证和修复 JSON

  1. 粘贴您的 JSON: 将缩小的 API 负载、日志行或配置文件粘贴到左侧的 Input JSON 框中,或单击 Load Sample。
  2. 检查实时验证横幅: 该横幅立即报告您的输入是否有效 JSON(以及总键和嵌套深度)或突出显示任何语法错误的确切行和列。
  3. 自定义或自动修复: 选择 2、4 或 8 个空格,启用 按字母顺序排序对象键,或者选中 自动修复宽松 JSON(如果您的数据来自带有注释和尾随逗号的 JavaScript 对象或 JSONC 文件)。
  4. 复制或下载: 单击复制到clipboard或下载.json以保存data.formatted.json(或data.min.json)。

JSON 格式化和修复选项说明

选项 它的作用 前 后
排序键 (A–Z) 在每个深度按字母顺序递归地对对象键进行排序,同时保持数组顺序不变。 {"z": 1, "a": {"d": 2, "b": 3}} {"a": {"b": 3, "d": 2}, "z": 1}
紧凑型短阵列 将数字、字符串或布尔值的短数组保留在一行而不是垂直行上。 "ids": [\n 1,\n 2,\n 3\n] "ids": [ 1, 2, 3 ]
自动修复宽松 JSON 删除注释,删除尾随逗号,并将单引号/不带引号的键转换为严格的 JSON。 { id: 1, name: 'Ana', /* 注意 */ } {\n "id": 1,\n "姓名": "安娜"\n}
Escape 非 ASCII Unicode 将 ASCII 127 以上的字符转换为有效的 4 位 hex 转义符 (\uXXXX)。 {"城市": "慕尼黑"} {"城市": "M\u00fcnchen"}

常见的 JSON 语法错误以及如何修复它们

由于官方 JSON 规范 (RFC 8259) 比 JavaScript 对象语法更严格,因此粘贴配置文件或控制台日志通常会触发解析器错误:

  • 尾随逗号({"a": 1,} 或 [1, 2,]): 在 JavaScript 和 TypeScript 中有效,但在严格的 JSON 中非法。启用 Auto-fix Relaxed JSON 以自动删除尾随逗号。
  • Comments (// 或 /* ... */): 在 VS Code settings.json 和 tsconfig.json (JSON 带注释/JSONC)中使用,但被拒绝通过标准 JSON.parse()。
  • 单引号或不带引号的属性名称 ({id: '100'}): JSON 需要在每个属性名称和 string 值周围使用双引号 ("...")。
  • 字符串内未转义的换行符: JSON string 内的原始换行符会导致 Bad control character in stringliteral 错误。使用我们的 Convert Newline to \n Tool 或启用 Auto-fix Relaxed JSON 将原始换行符转换为 \n。

常见问题解答

如何在线格式化和验证 JSON?

将 JSON 粘贴到左侧的 Input JSON 框中。格式化程序实时验证您的语法,显示绿色的 Valid JSON 状态横幅(或任何语法错误的确切行和列),并输出干净缩进的 JSON。

为什么严格的 JSON 在尾随逗号或注释上失败,我该如何修复它?

标准 JSON (RFC 8259) 禁止注释 (// 或 /* */)、} 或 ] 之前的尾随逗号、单引号字符串和不带引号的键。在设置面板中勾选 Auto-fix Relaxed JSON(JSONC/JS 对象)(或单击 Fix Relaxed JSON preset)即可自动将所有四个问题修复为严格有效的 JSON。

“转义非ASCII Unicode”如何运作?

默认情况下,UTF-8 字符(例如重音字母 (é、ü) 和符号 (☕))保持可读。当您启用 Escape non-ASCII Unicode (\uXXXX) 时,U+007E 之上的字符在序列化后将转换为 4 位 hex 转义序列,因此反斜杠永远不会双重转义。

我可以在每个嵌套级别按字母顺序对 JSON 对象键进行排序吗?

是的。启用 按字母顺序排序对象键 (A–Z) 以递归方式对 JSON 树中的每个对象的属性进行排序,同时保留数组内元素的顺序。

我的JSON数据是否上传到任何服务器?

不会。所有 JSON 解析、验证和格式化均使用 JavaScript 在浏览器中本地 100% 执行。您的 API 有效负载和配置文件永远不会离开您的设备。