语义对比
关注路径上的差异,而不是某一行空格有没有对齐。两边缩进不同、键顺序不同时,结构化对比通常比文本 Diff 噪音更少。
结果里会标出新增、修改、删除,并可筛选只看某一类变化。
也可通过 #data={"name":"Ada"} 或 #url=... 灌入数据,读完即从地址栏清除。
左右两栏贴两份 JSON,按结构对比字段是新增、删除还是值变化。比纯文本 Diff 更适合接口升级、配置变更这类「结构相同但值不同」的场景。发布前把 v1 / v2 样例响应贴进来,比在 Git 里对压缩单行做 diff 更不容易漏嵌套字段。
关注路径上的差异,而不是某一行空格有没有对齐。两边缩进不同、键顺序不同时,结构化对比通常比文本 Diff 噪音更少。
结果里会标出新增、修改、删除,并可筛选只看某一类变化。
看清哪些 Key 变了,再决定要不要改客户端。类型从数字变成字符串、字段被删掉,都比肉眼扫 500 行可靠。
测试同学也可以拿 baseline 和当前响应做回归抽查。
Key 顺序不稳定时,可先用排序工具再贴进来。数组若只是集合而无顺序约定,顺序变化可能是假阳性,需结合业务判断。
敏感字段建议先脱敏再对比,即使本页不上传数据。
{
"name": "Alice",
"age": 30,
"tags": ["dev", "json"]
}
{
"name": "Alice",
"age": 31,
"tags": ["dev", "tools"],
"active": true
}
会按位置比较。两个列表只是元素顺序不同,也会标出来。
对比发生在你这台电脑上。体积很大时先用 JSONPath 抽出相关片段再比。
会提示两份 JSON 完全相同,没有高亮差异项。
不一样。一边是 null 、一边没有这个键,会分别标记,语义也不同。
Diff 看「两份数据差在哪」;Schema 看「是否符合约定」。接口升级建议两样都做。