JSON 差異比對

比較兩份 JSON,列出新增與刪除的行。

比較 JSON

差異

JSON 差異比對在做什麼?

JSON 差異比對會比較兩份文件並回報變更處。與純文字 diff 不同,它看得懂結構,因此鍵的順序改變但值相同時,不會被當成變更。

輸出以 + 標示新增行、以 - 標示刪除行,與 git 的慣例一致,方便直接貼到審閱留言。

如何比較兩份 JSON

  1. 在左側貼上原始 JSON。
  2. 在右側貼上變更後的 JSON。
  3. 按「比對 JSON」。
  4. 閱讀 + 與 - 的內容,再複製或下載差異。

JSON 差異比對範例

值變更並新增鍵

{
  "name": "Ada",
  "age": 36
}
---
{
  "name": "Ada",
  "age": 37,
  "city": "London"
}
  {
    "name": "Ada",
-   "age": 36,
+   "age": 37,
+   "city": "London"
  }

巢狀變更

{"a":1,"b":{"c":2}}
---
{"a":1,"b":{"c":3}}
  {
    "a": 1,
    "b": {
-     "c": 2
+     "c": 3
    }
  }

JSON 差異比對:UrsaKit 與其他選擇

比較項目UrsaKit自己實作一般網上工具
準備工作打開網頁安裝 diff 工具打開網頁
看得懂結構是搭配 JSON 插件可以不一
資料是否離開裝置否,在瀏覽器內完成否通常會傳到伺服器
輸出複製或下載差異依工具而定通常只能複製
常見問題

常見問題

鍵的順序有影響嗎?

沒有。diffJson 比較的是值,因此鍵相同、順序不同的兩個物件會視為相等。

+ 與 - 代表什麼?

+ 代表只出現在右側文件的行,- 代表只出現在左側文件的行,與 git diff 相同。

其中一份不是有效 JSON 怎麼辦?

錯誤訊息會指出是哪一側失敗並停止比對,方便你先修正。

我的 JSON 會被上傳嗎?

不會。比對在瀏覽器內以 JavaScript 本機完成。

可以比對陣列嗎?

可以。陣列會逐元素比較,長度差異會以新增或刪除行呈現。

可以下載結果嗎?

可以,按「下載差異」即可存成文字檔。

全部工具