JSON 線上合併

本地處理
app.merge.view

也可透過 #data={"name":"Ada"}#url=... 灌入資料,讀完即從位址列清除。

把多份 JSON 合成一份。適合預設配置疊使用者配置、或把幾次介面結果拼在一起。合併規則在瀏覽器裡執行。深度合併會保留兩邊都出現的巢狀欄位;頂層覆蓋則整段替換同名鍵。

深度合併

巢狀物件按 Key 往下合,而不是整段覆蓋。例如預設裡的 theme.color 和使用者配置裡的 theme.font 可以同時留下。

適合「基礎配置 + 環境覆蓋」這類場景。

衝突可見

同一路徑兩邊都有值時,以你選擇的策略為準。合併前若不確定,先用 Diff 看衝突路徑。

陣列可選擇拼接、覆蓋或去重,不要預設以為會按索引深度合併。

和 Diff 搭配

先 Diff 看差異,確認後再合併,避免誤覆蓋。合併結果可再格式化或排序,方便入庫。

一側為空時按空物件處理,便於只貼一份增量。

示例

基礎配置
{
  "theme": "light",
  "limits": { "maxSizeMB": 2 }
}
覆蓋後(示例)
{
  "theme": "dark",
  "limits": { "maxSizeMB": 2, "debounceMs": 300 }
}
陣列會怎麼合?

按工具裡的選項處理:拼接、覆蓋或去重,不要假設一定按索引深度合併。

會上傳檔案嗎?

不會。即使你貼上了多段文字,也只在本機記憶體裡合併。

頂層覆蓋和深度合併差在哪?

頂層覆蓋用右側物件整體替換同名鍵;深度合併會走進巢狀物件繼續合。

能合三份以上嗎?

當前是雙欄。多份時請先把前兩份合成結果,再與第三份合併。

推薦工作流

  1. 左側貼預設 / 舊資料,右側貼覆蓋 / 新資料。
  2. 選擇深度合併、頂層覆蓋或合併為陣列。
  3. 若含陣列,再選定拼接、覆蓋或去重。
  4. 點「執行合併」,檢查結果後複製;有疑問先 Diff 兩側原文。

配置類 JSON 多用深度合併;「後寫覆蓋先寫」的功能開關適合頂層覆蓋。