JSON Beautifier,在线格式化器和验证器
立即实时打印、验证和 minify JSON 数据。我们的 JSON 格式化程序可以精确定位 语法错误的行和列,递归地对对象键进行排序以进行干净的差异,压缩短基元数组,甚至可以 自动修复宽松的 JSON / JSONC (尾随逗号、注释、单引号和不带引号的键)。
如何在线格式化、验证和修复 JSON
- 粘贴您的 JSON: 将缩小的 API 负载、日志行或配置文件粘贴到左侧的 Input JSON 框中,或单击 Load Sample。
- 检查实时验证横幅: 该横幅立即报告您的输入是否有效 JSON(以及总键和嵌套深度)或突出显示任何语法错误的确切行和列。
- 自定义或自动修复: 选择 2、4 或 8 个空格,启用 按字母顺序排序对象键,或者选中 自动修复宽松 JSON(如果您的数据来自带有注释和尾随逗号的 JavaScript 对象或 JSONC 文件)。
- 复制或下载: 单击复制到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 Codesettings.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 有效负载和配置文件永远不会离开您的设备。