JSON差异比较
深度比较两段 JSON 数据的差异,逐字段高亮显示新增、删除和修改的内容。
JSON 差异比较
JSON 差异比较工具使用指南
📌 简介
JSON 差异比较工具是一款面向开发者的在线调试工具,可以深度比较两段 JSON 数据的差异,逐字段识别新增、删除和修改的内容,并用不同颜色高亮显示。在调试 API 响应变化、对比配置差异、追踪数据演变时非常实用。所有比较在浏览器本地完成,JSON 数据不会上传服务器。
📖 JSON 差异比较的原理
JSON 差异比较本质上是两个 JSON 对象树的递归遍历:逐一对比每个键的存在性和对应值。如果键只存在于一个对象中,标记为新增或删除;如果键都存在但值不同,标记为修改;如果值都是对象,则递归深入比较。对于数组,本工具采用 JSON.stringify 完整比较,不做元素级差异分析。
💼 常见应用场景
- API 调试: 对比不同时间点接口返回的 JSON 差异,定位字段变化。
- 配置审查: 比较两份配置文件的差异,避免遗漏修改。
- 数据迁移: 对比迁移前后的数据,验证数据完整性。
- 版本对比: 查看数据结构随版本迭代的变化。
⚙️ 使用步骤
- 在左侧“旧 JSON”输入原始 JSON 数据。
- 在右侧“新 JSON”输入修改后的 JSON 数据。
- 点击“开始比较”,下方显示差异结果。
- 绿色表示新增字段,红色表示删除字段,橙色表示修改字段。
⚠️ 注意事项
- 两段 JSON 都必须是合法格式,否则会提示解析错误。
- 本工具按字段递归比较,数组作为整体比较(数组内元素顺序改变也算差异)。
- 路径显示格式为 key.key.key,嵌套层级越深路径越长。
❓ 常见问题 (FAQ)
Q: 数组差异如何显示?
A: 数组作为整体比较,如果两个数组内容不同(包括元素顺序),会显示为一次"修改"。如需要数组元素级对比,建议分别格式化后手动对比。
Q: 支持多层嵌套吗?
A: 支持。本工具会递归比较嵌套对象,无论多深都能识别差异。
Q: 数据会上传吗?
A: 不会。所有比较在浏览器本地完成,JSON 数据不会离开您的设备。