JSON 对比
对比两段 JSON,高亮新增、删除与修改的字段。
共 2 处差异
- 修改b.c- 2
+ 3 - 新增d+ 4
什么是JSON 对比?
JSON 对比(JSON Diff)用于比较两段 JSON 文本的结构差异,自动识别哪些字段是新增的、哪些被删除、哪些值发生了修改,并用不同颜色高亮标出。它不是简单的逐行文本比较(那样会因为字段顺序、缩进不同而产生大量误判),而是先把两段文本分别解析成 JSON 对象,再按键名递归比对,因此对象内部字段顺序不同、缩进风格不同都不影响比对结果,只关注数据本身是否一致。 常见用途是排查接口返回结果的变化、对比两个版本的配置文件、检查数据迁移前后是否一致等。整个比对过程在浏览器本地完成,输入的 JSON 内容不会上传到服务器,适合用来核对包含内部数据、密钥占位符等敏感字段的接口响应。
为什么使用JSON 对比?
在联调接口、排查线上问题或做数据回归测试时,经常需要确认“这次返回的数据和上次有什么不一样”。人工对着两段几十上百行的 JSON 找差异既慢又容易漏看,尤其是嵌套层级深、数组元素多的情况。JSON 对比工具能在一两秒内给出精确到字段路径的差异列表,比如告诉你 `data.user.age` 从 25 变成了 26,`data.list[2]` 是新增的元素。 相比 Git 的文本 diff,它理解 JSON 的语义结构,不会因为一个逗号换行或字段重新排序就报出一大堆无意义的差异;相比手写脚本比较,它开箱即用,不需要额外编码。适合前后端联调核对接口字段、测试同学做响应快照回归、运维核对多个环境的配置文件是否一致。
使用示例
接口响应版本对比
左侧粘贴旧版本返回:{"code":0,"data":{"name":"张三","age":25}};右侧粘贴新版本返回:{"code":0,"data":{"name":"张三","age":26,"vip":true}}。工具会标出 age 字段值从 25 变为 26(修改),以及新增了 vip:true 字段,其余相同字段不做标记。
数组元素增减
左侧:{"tags":["a","b"]},右侧:{"tags":["a","b","c"]}。对比结果显示数组新增了第三个元素 "c",前两个元素保持一致,不会误判整个数组都变了。
配置文件核对
把测试环境的 config.json 和生产环境的 config.json 分别粘贴到两侧,快速找出诸如 timeout 从 3000 改成了 5000、多了一个 debug:true 字段等差异,避免因为人工比对疏漏导致环境不一致上线。
使用提示
对比嵌套很深的大对象时,建议先展开折叠面板查看差异摘要,再定位到具体路径展开细节,避免一次性展开全部节点导致页面卡顿;如果只关心某个子对象的变化,可以先各自截取该子对象再比对,结果会更聚焦。
常见问题
对比结果的路径是什么意思?
数组元素顺序不同会被判定为差异吗?
数据会上传吗?
字段顺序不同会不会被误判为差异?
支持很大的 JSON 吗?
两段内容不是合法 JSON 会怎样?
数组里元素顺序变了但内容相同,算不算差异?
会把我的 JSON 数据发送到服务器吗?
相关工具
← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。