查找工具

↑↓ 选择 Enter 打开

不知道工具名称时,可输入“格式化”或“计数”等任务词。

JSON 结构差异比较

仅本地处理

比较解析后的 JSON 值,而不是缩进或换行;差异按对象键和数组位置列出,全部在当前浏览器处理。

已审核 · 更新于 · 免费使用 · 无需账号

JSON 差异比较工作区
Original JSON0 chars
Changed JSON
输出
解析和转换在当前标签页本地完成。

JSON Diff可以处理什么?

JSON 差异比较先解析两份有效 JSON,再递归比较对象键和数组索引。空格、缩进和对象键的排列不影响结果;数字与字符串属于不同类型,数组顺序会影响结果。

选择结构比较还是逐行比较?

需要检查 API 响应的数据变化时使用结构比较;需要比较代码、注释、空格或具体行的变化时使用文本差异工具。数组元素不会按业务 ID 自动对齐。

如何使用?

  1. 在“原始 JSON”和“修改后的 JSON”分别粘贴有效文档。
  2. 点击“转换”,查看以 +、-、~ 开头的路径差异。
  3. 复制或下载结果;若数组顺序不代表业务含义,可先按稳定键整理顺序再比较。

实际输入输出示例

比较一个字段的值变化

输入

原始:{"version":1}
修改:{"version":2}

输出

~ $.version: 1 → 2

~ 表示同一路径的值发生修改;仅修改空格不会产生此差异。

常见错误与修复方法

现象可能原因修复方法
无法比较,显示语法错误。其中一份输入含尾逗号、未加引号的键或缺失括号。先在 JSON 格式化工具中校验两份文档,再比较。
数组重新排序后产生多条变化。工具按数组索引比较,不自动识别元素移动。需要忽略顺序时,先使用一致的排序规则整理两份数组。

比较范围与限制

数组顺序和数值类型参与比较;对象键顺序不参与。标准 JSON 数值使用 JavaScript Number,大整数标识符应表示为字符串。输入、差异和下载均留在当前标签页。

标准与实现参考

关于JSON Diff的常见问题

缩进不同会产生差异吗?

不会。两份输入先解析为值,再比较结构。

数组移动会自动识别吗?

不会。元素按索引比较,移动可能显示为多处变化。

数据会上传吗?

不会。JSON 比较完全在当前浏览器进行。

数字 1 和字符串 "1" 一样吗?

不一样。值类型不同也会显示为修改。

更新记录

补充中文操作、可复现差异示例、数组顺序限制和语法错误处理说明;改善处理状态、输入防抖和下载文件类型。

谁在维护这个工具?

KL
KitLumi EngineeringKitLumi 工程团队负责维护工具行为、隐私说明、示例和自动化测试。