JSON 差異比對
比較兩份 JSON,列出新增與刪除的行。
比較 JSON
差異
JSON 差異比對在做什麼?
JSON 差異比對會比較兩份文件並回報變更處。與純文字 diff 不同,它看得懂結構,因此鍵的順序改變但值相同時,不會被當成變更。
輸出以 + 標示新增行、以 - 標示刪除行,與 git 的慣例一致,方便直接貼到審閱留言。
如何比較兩份 JSON
- 在左側貼上原始 JSON。
- 在右側貼上變更後的 JSON。
- 按「比對 JSON」。
- 閱讀 + 與 - 的內容,再複製或下載差異。
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 本機完成。
可以比對陣列嗎?
可以。陣列會逐元素比較,長度差異會以新增或刪除行呈現。
可以下載結果嗎?
可以,按「下載差異」即可存成文字檔。