比较两份 JSON、YAML 或 XML 文件

两份"看起来不一样"的配置文件,往往装着同样的数据,只是顺序不同。这个工具先把两份文件当作数据来读取,所以报告出来的只是真正发生的改动。

正在加载工具……

工作原理

  1. 粘贴或拖入两个版本。
  2. 开始比较 —— 格式会自动识别,你也可以自己指定。
  3. 查看改动位置列表,或者看并排对照视图(两份文件按同样整齐的格式排在一起)。

为什么什么都不用上传

这个页面上的每一步操作,都由运行在你浏览器标签页里的代码完成,用的就是渲染网页的那套引擎。文件从磁盘读进标签页的内存,在那里被处理,再作为下载写回去。它不会被送到任何地方 —— 不会送给我们,也不会送给第三方。

自己动手验证

  1. 打开浏览器的开发者工具(F12),选择“网络”(Network)面板。
  2. 载入你的文件,运行这个工具。
  3. 你能看到的请求只有这些:工具自己的代码 —— 少数几个重型工具还会从公共 CDN 取它们的开源引擎 —— 外加一条发往 loreatec.jp 的小小访问记录(页面地址和标题,仅此而已)。没有一条带着你的文件。

文件不外传的证明 →

常见问题

为什么不直接用文本差异比对?

文本差异比对是逐行比较的,所以会把一些无关紧要的东西也标出来:键的顺序、引号风格、缩进。这个工具先把两份文件当作数据来读取,再比较数据本身,所以报告出来的只是程序真正会在意的差异。

路径列表是什么意思?

每一行代表文件里发生差异的一个位置:新增(只出现在新版本里)、删除(只出现在旧版本里)或者改动。位置会写成一条路径,比如 server.timeout 或者 users[3].email —— 也就是从文件顶层一路走到那个值的路线。它回答的问题是"到底改了哪里"。

为什么 XML 是按文本方式比较的?

因为没有一种唯一正确的方式能说清楚两份 XML 文件"是一样的":属性的顺序不重要,但元素的顺序通常很重要,注释算不算数也说不准。所以工具会先把两份文件整理成统一格式(空格、属性顺序),再逐行比较,这是能得到的最接近可靠的答案。

有东西被上传吗?

没有。配置文件和 API 数据正是那种不该粘贴到陌生网站上的文件。两份文件的读取和比较都在这个浏览器标签页里完成,不会离开你的电脑。