祈灵工具箱

🔀JSON 对比工具 - 在线比较两个 JSON 差异、生成 JSON Patch

普通的文本对比会把键顺序变化、缩进不同都算作差异,对 JSON 来说噪音太多。这个工具先把两份 JSON 解析成数据,再按结构逐层比较:对象的键顺序始终忽略,数字 1 和 1.0 视为相同,只报告真正的内容变化。数组默认按顺序比较,并用最长公共子序列(LCS)对齐,中间插入一个元素不会让后面全部显示为修改;勾选“忽略数组顺序”后,数组按集合比较,只看元素的增减。结果可以用三种方式查看:差异树按层级展示发生变化的路径;差异列表逐条给出 $.a.b[0] 形式的路径和新旧值,可一键复制路径;JSON Patch 视图生成符合 RFC 6902 的 add / remove / replace 操作序列,把它按顺序应用到左侧文档就能得到右侧文档。适合对比接口返回、配置文件、数据库导出和测试快照。

免费 · 无需注册 · 浏览器本地处理最后更新:

正在加载工具...

如何使用JSON 对比

  1. 1把旧版 JSON 粘贴到左侧,新版粘贴到右侧
  2. 2按需勾选“忽略数组顺序”
  3. 3在差异树、差异列表或 JSON Patch 视图中查看结果,复制路径或补丁

常见问题

和普通文本对比有什么区别?
文本对比逐行比较字符,键的顺序、缩进、空格不同都会显示为差异。JSON 对比先解析再按结构比较,{"a":1,"b":2} 和 {"b":2,"a":1} 被视为相同,只有值真正变化、键被增删时才会列出,结果更干净。
“忽略数组顺序”适合什么场景?
当数组表示的是一组无序的数据时,例如标签列表、权限集合、接口返回的记录但排序不固定。勾选后 [1,2,3] 与 [3,1,2] 视为相同,只报告多出来或缺少的元素。如果数组顺序有意义(如步骤列表),请保持不勾选。
JSON Patch 是什么?怎么用?
JSON Patch(RFC 6902)是一种描述 JSON 修改的标准格式,由 add、remove、replace 等操作组成,路径使用 JSON Pointer(如 /servers/0/port)。很多语言都有现成的库可以应用补丁,也常用于 HTTP PATCH 接口。工具生成的补丁按顺序应用到左侧文档即可得到右侧文档。
数据会上传到服务器吗?
不会。解析和对比都在浏览器本地完成,接口数据和配置中的敏感信息不会离开你的电脑,关闭页面即清除。