tomai
免費 · 開發者工具

JSON 比對

兩個 JSON 逐鍵比——新增、刪除、修改一目了然

為什麼文字比對對 JSON 說謊

行級比對把重排過的 JSON 報成全改,明明值一個沒變;一個翻轉的布林值又淹沒在紅綠牆裡。結構化比對先解析兩邊,再逐值比——格式噪音消失,留下三處真變化。

這個工具能做什麼

  • 🆚 物件按鍵、陣列按序號,遞迴
  • 🏷️ 每行帶類型和完整 JSON 路徑
  • 📊 頂部彙總計數(+2 / −1 / ~3)
  • ⚡ 邊輸邊比,也有點按鈕表意圖

什麼時候用它

  • 看 API 發版到底改了什麼欄位
  • 查測試和生產設定漂移
  • 驗遷移有沒有把資料轉壞

隱私:兩邊解析比對全本機——你貼的 JSON 從不離開瀏覽器。

最後更新 · 2026-09-01

比對是怎麼實現的

兩邊先解析成值,再遞迴 walk 產出行:缺鍵變新增/刪除,值不等(按規範 JSON 文字比)變修改,陣列按序號對齊。非法 JSON 明確報錯,不偽造空比對。

為什麼在這裡比?

🆚

懂結構,不懂行號

物件按鍵、陣列按序號,無限遞迴——重排過但值相同的文件正確報零差異。

🧩

路徑可 grep

每個變化帶完整 $.path.to.value 位址,貼進程式碼、工單、jq 查詢直接用。

📋

邊輸邊比,有意圖

輸入即刷新供探索,Compare 按鈕表意圖,非法 JSON 明確報錯不裝空。

常見問題

陣列怎麼比?

按下標:元素 3 對元素 3。重排過的陣列會報修改,這是老實的——結構化比對不可能知道你只是排了個序。

能鑽多深?

一鑽到底,遞迴,每層帶 $.store.book[0].title 這種完整路徑——沒有深度上限可撞。

格式差異算嗎?

不算,這是設計:兩邊先解析再比,空格和鍵順序永遠造不出幻影差異,上報的全是真值變化。

常見問題

陣列怎麼比?

按下標:元素 3 對元素 3。重排過的陣列會報修改,這是老實的——結構化比對不可能知道你只是排了個序。

能鑽多深?

一鑽到底,遞迴,每層帶 $.store.book[0].title 這種完整路徑——沒有深度上限可撞。

格式差異算嗎?

不算,這是設計:兩邊先解析再比,空格和鍵順序永遠造不出幻影差異,上報的全是真值變化。

相關工具

相關工具