文字 / JSON Diff 對比

並排比較文字或 JSON,快速看出新增、刪除與修改。

原始內容
修改後
差異結果
已準備好。貼上左右兩版內容即可對比。

文字和 JSON 會在瀏覽器本機對比,不會上傳到 BroBroGo。

常見問題

文字模式和 JSON 模式有什麼不同?

文字模式按行或按詞比較原文;JSON 模式會先解析並統一格式,再列出 $.user.email 這類欄位路徑的變更。

很大的內容可以比較嗎?

比較會在背景執行,超過 2.5 秒就會停止。意外貼上過大的內容也會被擋下,避免頁面卡住。

JSON 模式會忽略物件 key 的順序嗎?

欄位層級變更會按 key 名稱比較,所以單純調整物件 key 順序不算語意變更。陣列會按位置比較。

文字與 JSON 差異對比的運作機制

在軟體開發、系統組態管理與日常文字編輯中,比對兩個版本的內容差異(Diff)是一項基礎且頻繁的需求。本工具提供「文字」與「JSON」兩種比對模式,協助使用者快速識別「原始內容」與「修改後」內容之間的變化。

比對結果會明確標示出三種變更類型:

  • 新增:僅存在於修改後版本的新增內容。
  • 刪除:僅存在於原始版本中,但在新版本已被移除的內容。
  • 修改:內容在相同位置發生了字元或數值上的變更。

透過並排對比的視覺化呈現,使用者能直觀地確認設定檔、API 回應或短文字在修改前後的具體異同。


文字比對模式與粒度調整

在「文字」模式下,工具支援兩種不同的比對粒度,以因應不同的閱讀與審查需求:

  1. 按行:以換行符號為基準,逐行比對文字。適合用於程式碼、排版檔案或結構化清單,能快速指出哪一行被替換或刪除。
  2. 按詞:在行內進行更細緻的單字或詞彙比對。適合用於一般文章、合約條款或短文的潤飾修改,能精確定位到句子中被修改的特定詞彙。

使用者可依據文字的特性隨時切換粒度,以獲得最符合閱讀習慣的對比呈現。


JSON 結構化數據比對規則

當切換至「JSON」模式時,工具不僅僅是進行字面上的文字比對,而是會先解析並統一格式化 JSON 內容,再依據結構路徑進行語意層級的比對。其比對規則如下:

  • 物件鍵值比對:JSON 物件(Object)中的鍵值對(Key-Value Pairs)是依據鍵名(Key)進行比對。因此,若僅僅是欄位順序發生調整,而鍵值內容未變,工具不會將其判定為語意上的變更。這能有效排除因序列化套件不同而產生的順序干擾。
  • 陣列位置比對:JSON 陣列(Array)是有序的集合,因此陣列內部的元素會嚴格按照其索引位置進行比對。
  • 路徑定位:比對結果會以結構化路徑(例如 $.user.email)列出具體發生變更、新增或刪除的欄位與數值,這對於 API 回應比對與資料庫遷移前後的資料驗證非常實用。

輸入限制與異常處理機制

為了確保瀏覽器在處理大量數據時維持流暢的響應速度,工具設有以下輸入限制與保護機制:

  • 字數限制:單側輸入框(左側或右側)的最大字數限制為 300,000 個字元。若超出此限制,系統將顯示「輸入內容太大了,請換一組更小的內容對比」。
  • 時間中斷(Timeout):比對運算若超過 2.5 秒仍未完成,系統會自動終止運算並顯示「這次對比花太久了。請縮小輸入,或改用按行比較」。
  • 結果截斷:當比對結果過於龐大時,工具會顯示「結果已截斷顯示,以保持頁面順暢」,避免瀏覽器因渲染過多 DOM 節點而當機。
  • 語法驗證:在 JSON 模式下,若輸入的內容不符合 JSON 語法規範,工具會即時攔截並顯示「左側 JSON 無效:」或「右側 JSON 無效:」並附帶詳細的解析錯誤訊息。

瀏覽器本機隱私保護

本工具採用完全的用戶端(Client-side)處理機制。當您貼上原始文字、設定檔或敏感的 JSON API 回應時,所有的解析、格式化與差異比對運算皆直接在您的瀏覽器本機執行。

文字和 JSON 會在瀏覽器本機對比,不會上傳到 BroBroGo。這種運作模式不僅免去了網路傳輸的延遲,也確保了資料不會留下任何伺服器端的暫存紀錄,適合用於日常開發與資料比對工作。


常見問題

文字模式和 JSON 模式有什麼不同?

文字模式按行或按詞比較原文;JSON 模式會先解析並統一格式,再列出 $.user.email 這類欄位路徑的變更。

很大的內容可以比較嗎?

比較會在背景執行,超過 2.5 秒就會停止。意外貼上過大的內容也會被擋下,避免頁面卡住。

JSON 模式會忽略物件 key 的順序嗎?

欄位層級變更會按 key 名稱比較,所以單純調整物件 key 順序不算語意變更。陣列會按位置比較。

如果兩側內容完全相同,工具會如何提示?

若比對後未發現任何差異,工具會顯示「沒有發現差異」;若在 JSON 模式下欄位值均無變動,則會顯示「沒有發現 JSON 值變化」。