Toolkitbar

JSON 格式化与校验 — 免费,不上传

把一大坨 JSON 变得能读,或者压回一行。

选项

在你的设备上运行 你粘贴的内容由你自己的浏览器处理,不会发送到任何服务器,离开页面后也不会留在任何地方。

一句话答案

JSON 可以在浏览器里免费格式化和校验,全程不需要上传。文本会交给浏览器自带的 JSON 解析器处理 —— 这既证明了它是合法的 JSON,也能指出第一个语法错误的确切位置 —— 然后按所选缩进(2 个空格、4 个空格或制表符)重新序列化,压缩模式下则完全不留空白。因为解析发生在本地,一份装满客户数据的 API 响应也可以放心查看,它不会离开你的设备。

一览

支持输入任意 JSON 文本
输出格式格式化或压缩后的 JSON
处理方式浏览器本地
价格免费,无次数限制
账号无需注册

在这里,格式化和校验本来就是同一件事,所以没有单独的“校验”按钮。不先解析就无法重新缩进,因此凡是能带着缩进返回的文档,就是解析通过的文档;不通过的则会原样返回解析器自己的报错信息,并指明它是在第几个字符上放弃的。

键排序默认关闭,它只在一种场合值得打开:比较两份本应完全相同的文档。两个仅仅因为书写顺序不同而产生差异的配置文件,diff 出来会全是噪音;把两边都排序之后,剩下的才是真正不一致的行。除此之外请保持原有顺序 —— 在手写的配置里,顺序通常是有含义的。

使用步骤

  1. 1

    粘贴 JSON

    直接放进输入框。API 响应、配置文件、日志里的一行,只要应该是 JSON 就行。

  2. 2

    选择输出样式

    带 2 个空格缩进的格式化适合绝大多数情况。想去掉每一个空白字节就切到压缩。

  3. 3

    点击转换

    结果显示在下方。如果 JSON 有问题,解析器会告诉你错在哪里,而不是给你一个半成品。

  4. 4

    复制出去

    “复制”把结果放进剪贴板,“下载”把它存成 .json 文件。

常见问题

我的 JSON 会被上传吗?

不会。工作由浏览器自带的 JSON 解析器在页面内完成,代码里没有任何携带你文本的请求。你可以在网络面板里确认,或者在页面加载完之后断网试试。

可以粘贴含有真实客户数据的 JSON 吗?

这正是它的用途。文本不会被传输,不会写入存储,关掉标签页就消失了 —— 这和那些把你的数据 POST 到自己服务器上再渲染结果的格式化网站是两回事。

压缩到底能省多少?

省掉词法单元之间的每一个空格、制表符和换行。对一份缩进很深的文档来说通常是 20%–30% 的体积,而且完全不改变 JSON 的含义 —— 两种写法解析出来是同一个值。

为什么多了一个尾逗号就报错?

因为 JSON 不允许尾逗号,尽管 JavaScript 允许。注释、单引号字符串、不加引号的键也一样:那些是 JavaScript 对象字面量或者 JSON5,不是 JSON,严格的解析器会拒绝。

给键排序会改变我的数据吗?

不会。对象的键顺序不属于 JSON 对象含义的一部分,重排之后得到的是等价的文档。数组永远不会被动,因为数组的顺序就是它的内容。

相关工具

浏览全部开发者工具