JSON差异对比

比较两个JSON对象之间的差异,生成差异描述

功能介绍

对比两份 JSON 数据的差异:粘贴左侧(原始)和右侧(新版本),立即得到新增、修改、删除三类差异的统计和明细,左右分栏对照显示,也能展开结构化差异数据逐条核对。典型场景:接口升级后对比新旧响应结构、排查「为什么这个字段没了」、审核配置文件的改动是否只有预期的那几处。对比在浏览器本地完成,两份数据都不会上传任何服务器——含密钥、用户数据的响应体也可以放心贴。

使用说明

1. 左侧粘贴原始版本 JSON,右侧粘贴新版本 JSON;2. 点击对比,查看统计:新增、修改、删除各多少处,心里先有个数;3. 左右分栏逐条核对差异明细,确认每处改动都是预期内的;4. 需要留档或发给同事时,复制差异结果或下载成 JSON 文件;5. 如果对比报错,先分别校验两份 JSON 是否合法(用站内「JSON 校验/格式化」工具),修好再比。

常见问题

能对比多大的 JSON?深层嵌套的能比吗?
支持任意深度的嵌套结构,几 MB 的 JSON 都能对比。差异按路径定位(如 data.list[3].name),深层字段也能精确定位到。超大对象建议先裁剪出关心的部分,结果更容易核对。
数组顺序变了算修改吗?
算。数组按位置逐项对比,同样两个元素只是换了顺序,会被报告为多项修改。如果你的业务里数组顺序无意义(比如标签列表),这类「顺序性修改」可以忽略;需要按内容匹配数组的场景,先对数组按唯一键排序再对比。
数字 1 和字符串 "1" 会被判为相同吗?
不会,严格区分类型。JSON 里 1 和 "1" 是不同的值,对比会标记为修改。这恰恰是这类工具的价值:接口把数字改成了字符串(典型的隐性 breaking change),肉眼很容易漏看,diff 一比就现形。
两份数据会被上传吗?
不会。对比全部在浏览器内存里完成,粘贴的内容不经过网络、不落盘。接口响应、含 token 的配置、生产数据快照都可以放心对比。
和 Git diff、代码 diff 工具有什么区别?
Git diff 按文本行对比,两个 JSON 只要排版不同就会显示满屏差异;本工具解析后再按数据结构对比,只报告「值」的真正变化,键顺序、缩进、空格不同不算差异。对比数据请用它,对比代码用 Git。