JSON 对比

在线对比两份 JSON:忽略键顺序与缩进,按 JSONPath 逐条列出新增、删除与修改,数据不上传

最近更新
我的工具
暂无工具

加载中...

如何在线对比两份 JSON

  1. 1

    粘贴或打开两份 JSON

    把要比较的两份 JSON 分别放进左右两栏,或从本地打开 .json 文件。内容留在你的浏览器里,不会上传。

  2. 2

    查看结构化差异清单

    工具先规范化两份数据(默认忽略键顺序与缩进),再逐条列出新增、删除与修改,每条都带 JSONPath 与左右两侧的值。

  3. 3

    对照差异视图并导出

    点击清单任意一行跳到差异视图的对应位置,确认后可以复制差异或下载为 .patch 文件。

功能概览

在线对比两份 JSON,找出真正的差异。默认忽略键顺序与缩进,{"a":1,"b":2} 与 {"b":2,"a":1} 判为相同。除了并排的差异视图,还会给出一张结构化清单:每一行是 JSONPath 加上左右两侧的值,直接告诉你变的是 $.data[3].price,而不是「第 42 行变了」。大整数与 2.370 这样的尾随零逐字节保留。全程在浏览器本地完成,数据不上传。

工具描述

粘贴两份 JSON 即可看出真正的差异。默认忽略键顺序与缩进,结构化清单按 JSONPath 列出新增、删除与修改并给出左右两侧的值,并排与统一双视图可切换,大整数不丢精度,全程浏览器本地处理。

能力清单

  • JSON 对比默认忽略键顺序与缩进,只报语义上真正的不同
  • 结构化差异清单:新增、删除、修改逐条列出,每条带 JSONPath 与左右两侧的值
  • 并排与统一两种差异视图,点击清单可跳到差异区对应位置
  • 可选忽略数组元素顺序、忽略大小写,可只看差异或显示完整上下文
  • 大整数与 2.370 的尾随零在结果里逐字节保留,不会被 JavaScript 数字精度毁掉
  • 两侧都能粘贴、打开文件或一键交换;差异可复制或下载为 .patch
  • 任意一侧 JSON 非法时给出精确到行列的定位,而不是一句「格式错误」
  • 全程浏览器本地处理:免登录、无广告、数据不上传

相关工具

常见问题

怎么在线对比两份 JSON?
把两份 JSON 分别粘贴到左右两栏即可,工具会自动比较。默认忽略键顺序与缩进差异,所以排版不同但内容相同的两份数据会判为一致。
JSON 对比和普通文本对比有什么区别?
普通文本对比按行比较,键顺序或缩进不同会被当成差异,而且只能告诉你「第 42 行变了」。JSON 对比先按结构规范化再按路径比较,能直接指出变的是 $.data[3].price,以及它从什么变成了什么。
键的顺序不同算差异吗?
默认不算。{"a":1,"b":2} 与 {"b":2,"a":1} 会被判为相同。如果你需要把键序也当成差异,可以在对比选项里关掉「忽略键顺序」。
数组元素顺序不同怎么办?
默认算差异,因为 JSON 数组是有序的。需要时可以打开「忽略数组元素顺序」,此时差异视图展示的是重排后的规范形式,不是你输入的原始顺序。
大整数会丢精度吗?
不会。对比全程只搬运原始文本,从不把 JSON 转成 JavaScript 数字再转回来,所以 9123372036854000123 和 2.370 的尾随零都会原样出现在结果里。
数据会上传吗?能对比多大的文件?
不会上传,解析与对比都在你的浏览器里完成。每一侧上限 2 MB;超过之后请先用 JSON 在线解析工具压缩,或改用本地工具。