两侧输入完全在浏览器内处理,不会上传到任何服务器。
什么是 JSON 比对?
JSON 比对工具用于比较两份 JSON 文档,标出它们之间的差异:哪些属性是新增的、哪些被删除、哪些值发生了变化。DevFormatLab 的 JSON 比对采用按行对比,比较前会对对象键名排序(因此属性顺序不同不会被当作差异),全部计算都在浏览器内完成。它特别适合检查接口返回值的变更、配置漂移以及功能开关上线情况。
功能特性
- 并排展示,行级红绿高亮
- 可选按键名排序(忽略属性顺序差异)
- 新增 / 删除 / 相同 行数实时统计
- 两侧分别严格校验 JSON,分别报错
- 一键交换左右
- 100% 浏览器运行 —— JSON 数据不会离开你的设备
使用步骤
- 在左侧输入框粘贴原始 JSON。
- 在右侧输入框粘贴修改后的 JSON。
- 保持「按键名排序」开启(默认),可忽略属性顺序差异。
- 查看下方并排彩色对比:红色为删除行,绿色为新增行。
- 需要反向对比时点击「交换左右」。
常见问题
我的 JSON 数据会被上传吗?
▾
不会。两侧 JSON 都在浏览器内解析与对比,不会上传到任何服务器。
为什么默认情况下重新排列键名不会显示为差异?
▾
JSON 规范规定对象键名是无序的,DevFormatLab 在序列化对比前会对键名排序。如果你的场景需要严格区分键名顺序,可以关闭该选项(开发中)。
嵌套对象与数组如何对比?
▾
两侧都会以 2 空格缩进美化输出,再使用 LCS 算法逐行对比。嵌套结构会展开为多行,差异定位非常清晰。
对比有大小限制吗?
▾
对比复杂度为 O(n*m)(n、m 为两侧行数)。超大 JSON(每侧 > 5000 行)可能会有短暂卡顿。常规接口和配置基本秒出。
数组元素顺序变化会被识别为差异吗?
▾
会的。JSON 中数组是有序的,元素顺序变化会被视为差异。如果你需要忽略数组顺序,请提前对数组进行排序。
相关工具
Canonical: https://devformatlab.com/zh/json-diff