JSON 格式化

在线 JSON 美化、压缩、对比与语法校验。所有数据在浏览器本地处理,不上传服务器,保障隐私安全。

缩进
字符数:0 | 行数:0
格式化后的 JSON 将显示在此处
字符数:0 | 行数:0

常见问题

JSON 格式化会改变数据内容吗?

不会。美化仅添加缩进和换行,压缩仅去除空白,都不会修改数据内容。但需要注意,JSON.parse 后再 JSON.stringify 的过程中有一些边界行为:数字 1.0 会变为 1-0 会变为 0,这是 JavaScript JSON 标准的行为,并非工具 bug。对于绝大多数实际使用场景(接口返回、配置文件等),这些边界情况不会出现。

为什么语法错误提示的行号和实际行号有时对不上?

浏览器中 JSON.parse 的报错信息格式因浏览器而异。Chrome 给出字符偏移位置(如 position 42),Firefox 直接给出行号和列号(如 line 2 column 10)。本工具兼容两种格式:对 Chrome 的 position,通过统计该位置之前的换行符数量推算行号和列号;对 Firefox 的 line/column,直接提取显示。同时工具会自动将光标定位到错误字符附近,方便快速定位。

输入特别大的 JSON 文件时页面卡顿怎么办?

本工具限制输入最大 500,000 字符(约 500KB),超出后会自动截断并提示。对于超大 JSON 文件,建议拆分后分段格式化,或使用专业的本地 JSON 编辑工具。所有处理在浏览器本地完成,性能受设备 CPU 影响——首次格式化大文件时可能需要等待 1-3 秒。若需频繁处理大文件,建议使用 jqpython -m json.tool 等命令行工具。

如何搜索 JSON 中的特定内容?

Ctrl+F(Mac 上按 Cmd+F)可打开搜索栏,输入关键词后所有匹配行会高亮显示。按 Enter 跳转到下一个匹配,Shift+Enter 回到上一个。匹配项所在的折叠节点会自动展开。也可以点击搜索栏中的 ▲/▼ 按钮进行导航。

如何查看某个字段的完整路径?

将鼠标悬停在任意 JSON 节点上,输出区底部的路径栏会显示该节点的完整 JSON Path(如 $.store.book[0].title)。点击任意键名或值可直接复制该片段。

JSON 对比是如何工作的?

对比功能基于 JSON 语义结构而非文本行:会自动忽略键名顺序差异({"a":1,"b":2}{"b":2,"a":1} 视为相同)、按深度递归比较嵌套对象和数组。差异分为三类高亮:绿色新增、红色删除、黄色修改。所有对比在浏览器本地完成,数据不会上传。