08 开发者工具

JSON Diff 对比
差异按路径找

比较两份 JSON 的结构和值,快速定位新增、删除、修改和类型变化。对象顺序自动忽略,数组变化清楚对齐。

浏览器本地对比 两份 JSON 不会上传、保存或写入网址;超大整数和精确数字不会先转换成 JavaScript Number。
BEFORE

左侧 JSON

原始版本
AFTER

右侧 JSON

修改后版本
等待对比分别粘贴两份 JSON 后开始对比。
Ctrl / ⌘ + Enter
JSON DIFF GUIDE

JSON Diff 会比较哪些变化

工具先分别验证两份严格 JSON,再按对象键和数组位置递归比较。显示路径可以直接用于接口联调和问题记录。

新增与删除

识别对象属性和数组元素在哪一侧出现,分别显示新增值或被删除的原值。

值与类型变化

区分普通值变化和字符串、数字、对象、数组、布尔值之间的类型变化。

#

无损数字比较

超大整数按原始十进制值比较;相同数值的不同指数或小数写法可单独显示。

数组顺序保留

对象键顺序不算差异,数组则会尝试对齐插入和删除,避免后续元素全部错位。

COMPARISON RULES

对比口径与安全限制

对象顺序忽略

{"a":1,"b":2} 与键顺序相反的对象在值相同时视为一致。

重复键拒绝

重复键在不同解析器中的结果不确定,工具会定位并要求先修正。

大型数组降级

数组对齐超过复杂度上限后改为按索引比较,并在结果上方显示提醒。

结果数量保护

每侧最大 1 MB、10 万个值,最多显示 5000 条差异,防止页面失去响应。

FAQ

JSON 对比常见问题

对象属性顺序不同算差异吗?

不算。JSON 对象的键顺序不参与结构比较;数组顺序具有业务含义,因此数组元素的位置变化会被识别。

1和1.0会被认为不同吗?

两者数值相同。默认会单独标记为“表示形式变化”,便于发现接口序列化方式变化;关闭该选项后会视为相同。

为什么重复键名不能直接对比?

不同解析器可能保留第一个、最后一个或全部重复键,语义并不稳定。为了避免产生误导结果,本工具会要求先消除重复键。

两份 JSON 会上传服务器吗?

不会。校验、对齐和差异计算都在当前浏览器完成,内容不会进入网址、请求、数据库、日志或浏览器本地存储。

可以对比多大的 JSON?

基础版每侧最大 1 MB、10 万个值。大型数组超过对齐复杂度后会按索引安全比较,差异结果最多展示 5000 条。