工具

JSON 结构对比工具

按字段结构对比两份 JSON——字段顺序打乱、缩进不同也不算差异。新增、删除、修改的字段以树状路径清单或并排高亮展示,全程只在浏览器内运行。

输入

处理地点:解析与对比全部在此浏览器标签页内完成——JSON 不发送、不留存、不写入任何链接,关闭标签页即丢弃。

0 / 600,000

0 / 600,000

对比选项

对比规则

本工具按字段结构对比两份 JSON,而不是逐行对比文本:对象 key 的先后顺序、缩进与空白差异都不算差异。每个叶子字段按真实路径报告——如 $.data.models[0].price——重新格式化过的文件依然得到干净、最小的差异清单。

解析对开发者常见情况宽容:}、] 前的尾随逗号会被容忍并提示;语法错误精确到第几行第几列。重复 key 会计数提示(与 JSON.parse 一致,后者覆盖前者)。开启「忽略数组顺序」后数组按多重集合匹配——单纯换序不算差异,真正多出或缺少的元素仍会标出。「忽略大小写与空值差异」把 ""、null 与字段缺失视作等价,字符串不区分大小写。

导出支持真正的 RFC 6902 JSON Patch(在 JSON Pointer 路径上的 add/remove/replace)以及可直接贴进 PR 或接口文档的 Markdown 表格。全程只在这个标签页内运行,不上传任何内容。

常见问题

这和文本逐行 diff 有什么区别?

文本 diff 按行比较,重新格式化或调整字段顺序会产生大量噪音。本工具把两份文档解析成结构后逐字段对比——key 顺序、缩进、空白都不算变化,每个差异都给出真实路径,如 $.data.models[0].price。

JSON 语法不标准会被拒绝吗?

语法错误会精确提示到第几行第几列。} 或 ] 前的尾随逗号会被容忍并计数提示——除此之外,JSON.parse 会拒绝的写法这里同样拒绝。重复 key 会给出提示,与 JSON.parse 一致取最后值。

「忽略数组顺序」实际怎么比?

数组元素按规范化结构做多重集合匹配:同一批元素只是换序不算差异,真正多出或缺少的元素仍会按索引标出;只发生位移的元素会标注新位置。

我的 JSON 会被上传或保存吗?

不会。解析、对比、渲染全部在这个浏览器标签页内完成——不发往任何服务器、不落盘、不写进链接,关闭标签页即丢弃。