跳到正文
EVOA Toolbox

JSON 格式化

格式化、美化并排序 JSON,支持语法高亮,并按行列精确定位错误。在浏览器本地运行。

在浏览器中本地处理,你的文本不会被上传。

正在加载工具…

这个工具能做什么

粘贴压缩过或杂乱的 JSON,一步得到整洁、带缩进、带颜色高亮的版本。你可以选择 2 个空格、4 个空格或制表符缩进,还可以按字母顺序对每个对象的键排序,这样两份数据可以逐行对比,提交到版本控制时差异也更稳定。

如果文本不是有效的 JSON,工具会告诉你错在哪里、具体位置:行号、列号,以及指向出错字符的插入符。常见问题,如多余的尾随逗号、单引号字符串、没有引号的键、漏掉的逗号和未闭合的字符串,都有各自通俗易懂的说明。

格式化完全在你的浏览器中进行,你粘贴的 JSON 不会被上传。数字字面量会保持你写下的样子,因此 20 位的 ID 或 1.0 这样的值不会被悄悄舍入或改写;当某个整数大到 JavaScript 无法安全表示时,页面还会给出提示。

使用方法

  1. 1把 JSON 粘贴到输入框,或通过“上传”放入 .json 文件,也可以点击“插入示例”。
  2. 2选择缩进方式(2 个空格、4 个空格或制表符);如果想要统一的顺序,可以打开键排序。
  3. 3查看下方带高亮的结果。如果有错误,请按输入框下方显示的行号和列号去定位。
  4. 4复制结果,或将其下载为 .json 文件。

支持的格式

标准 JSON(RFC 8259),可以是纯文本或 .json 文件。注释、尾随逗号、单引号等 JSON5 扩展语法不属于有效的 JSON,会作为错误报告。

隐私

此工具在你的浏览器中运行。你提供的数据在你的设备上处理,不会发送到我们的服务器。

限制

  • 超过 5 MB 的输入不会自动处理;你仍可选择处理,但根据设备情况,页面可能会变慢。
  • 对于特别大的输出会跳过语法高亮,屏幕上也只显示前 400,000 个字符。复制和下载始终包含完整结果。
  • 排序键需要解析并重排每个对象,因此处理大型文档时比单纯格式化更慢。不排序时会保留重复的键。
  • 超出 ±9,007,199,254,740,991 的整数会在输出文本中原样保留,但之后任何对它们调用 JSON.parse 的 JavaScript 代码都会对其进行舍入。

常见问题

我的 JSON 会被发送到服务器吗?

不会。解析、格式化和高亮都在你的浏览器标签页中完成,你粘贴的内容不会被上传。因此处理 API 响应和配置文件没有问题,不过在共用电脑上仍应避免粘贴机密信息。

为什么在编辑器里能用的 JSON,这里却提示无效?

编辑器和许多解析器会接受宽松的语法,例如注释、尾随逗号、单引号或没有引号的键(JSON5 或 JavaScript 对象字面量)。而 API 和 JSON.parse 所要求的严格 JSON 不允许这些写法。错误信息会指明具体问题和位置。

格式化会改变我的数据吗?

不会。只会改变空白字符(启用排序时还会改变键的顺序)。字符串、数字和值都保持原样,包括非常大的整数。

排序键会对数组做什么?

什么都不会。数组的顺序有意义,永远不会被改动。只有对象内部的键会被排序,每一层都按其 Unicode 码点排序。

相关工具