JSON 对比
递归对比两份 JSON,按路径列出新增、删除、修改与类型变化差异
JSON 对比是做什么的
两份 JSON 改了哪里,肉眼逐层找非常容易漏。本工具把两侧 JSON 解析后递归对比,精确到 data.items[0].price 这样的路径,逐条列出新增、删除、修改和类型变化,旧值新值并排展示,一眼看清全部变更点。
对比是纯本地递归实现,不依赖任何服务。对象按键名匹配,数组默认按下标对齐,可勾选忽略数组顺序(按元素内容排序后匹配)、忽略指定字段(逗号分隔),并可选择键顺序不同是否计入差异。长值会截断显示以保证列表可读。
核心功能
- 递归对比并输出完整路径差异
- 区分新增、删除、修改、类型变化四类
- 可忽略数组顺序,按内容匹配元素
- 支持逗号分隔忽略指定字段
- 差异按类型着色高亮,一目了然
JSON 对比怎么用
递归对比两份 JSON,按路径列出新增、删除、修改与类型变化差异
- 左右两个文本框分别粘贴旧、新 JSON
- 按需勾选忽略数组顺序、键顺序选项或填写忽略字段
- 点击「对比」,也可先点「填入示例」了解输出格式
- 查看按路径排列的差异列表及新旧值对照
适合这些场景
- 接口升级前后响应结构变更排查
- 配置文件、环境 JSON 差异核对
- 爬虫或脚本输出数据变化追踪
常见问题
数组顺序变了算差异吗?
默认按下标对齐,顺序变化会被报为修改;勾选「忽略数组顺序」后先按元素内容排序再对比,仅内容变化才计入。
怎么跳过时间戳、自增 id 这类必变字段?
在忽略字段输入框填逗号分隔的字段名,如 updatedAt,id,这些路径在任何层级都会被跳过。
键顺序不同会被报成差异吗?
默认勾选「键顺序不同不算差异」,不影响结果;取消勾选后同键集合但顺序不同的对象会给出键顺序提示。