工具
ZH

JSON 在线格式化与校验工具

粘贴 JSON,即可按 2 个空格、4 个空格或制表符缩进格式化;校验时精确显示错误位置;用修复一键纠正常见错误;还能按键名排序或压缩 JSON。大数字和键的顺序均与原文保持一致。

隐私保护:您的数据仅在浏览器中处理,绝不会被上传。

如何格式化 JSON

  1. 粘贴 JSON,将 .json 文件拖到编辑器中,或从 URL 加载。
  2. 点击格式化(或按 Ctrl+Enter),并选择 2 个空格、4 个空格或制表符缩进。压缩会删除所有空白字符,键名排序会按字母顺序排列属性。
  3. 如果 JSON 无效,错误提示框会显示出错的行、列和原因,并高亮该行。修复可自动修正尾随逗号、注释、引号等类似错误。

保持数据原样的 JSON 格式化工具

许多在线格式化工具会先用 JSON.parse 解析、再用 JSON.stringify 输出数据,这会在不知不觉中改变内容:像 12345678901234567890 这样的大整数会被舍入,1.50 会变成 1.5,而 "10" 这类数字键会跳到对象的最前面。本 JSON 格式化工具只调整空白字符,因此每个数字、转义序列和键都与你输入的完全一致。

“修复”功能可以解决哪些问题

从 JavaScript 代码、Python、日志或 AI 聊天回复中复制的 JSON 往往只是“差不多有效”。修复功能会将其转换为严格的 JSON:

问题修复前修复后
尾随逗号{"a": 1,}{"a": 1}
注释// note、/* … */已删除
单引号{'a': 'b'}{"a": "b"}
键名未加引号{a: 1}{"a": 1}
Python 值True、False、Nonetrue、false、null
NaN、Infinity、undefined{"x": NaN}{"x": null}
缺少逗号[1 2 3][1, 2, 3]
括号未闭合{"a": [1, 2{"a": [1, 2]}
多个值(JSON Lines){"a":1} {"a":2}[{"a":1}, {"a":2}]

在代码和命令行中格式化 JSON

请注意,这些方法都会重新编码数据,因此非常大的数字可能会被舍入,而本页的格式化工具则不会。

为什么选择 JSON Format Online?

常见问题

我的 JSON 会被上传到服务器吗?

不会。格式化、校验和修复完全在你的浏览器中运行。只有从 URL 加载时才会经由我们的服务器获取文件,因为浏览器会阻止大多数跨站直接下载;内容会直接传给你,不会被存储。

为什么 JSON 报错“Unexpected token”?

JSON 比 JavaScript 更严格:键和字符串必须使用双引号,不允许尾随逗号和注释,也不存在 NaN 或 undefined 这样的值。校验器会指出具体问题及其位置,修复功能则能自动解决其中的大部分错误。

格式化会改变数字或键的顺序吗?

不会。大整数、末尾的零、转义序列和键的顺序都会原样保留。只有键名排序会重新排列属性,即便如此,每个数字也会保留原有的数位。

JSON 文件最大可以有多大?

在现代桌面浏览器中,几十 MB 的文件也能正常处理。编辑器只为可见的行绘制行号,因此长文档依然流畅;即使错误位于大文件深处,也能被准确报告。