XML 轉 JSON 轉換器

即時將 XML 轉換為 JSON

XML 輸入

選項

JSON 輸出

轉換結果將會顯示在這裡...

概覽

XML 轉 JSON 轉換器可將標記密集的 XML——SOAP 回應、RSS/Atom 訂閱源、舊版設定檔——轉換成你的 JavaScript 或 Node.js 程式碼可以直接使用的乾淨 JSON。它基於真正的 XML 剖析器而非正規表示式運作,因此會驗證格式是否完整,並在標籤損壞時回報精確的行號與欄號,同時讓你精細控制屬性、命名空間與重複元素在產生的 JSON 中如何表示。

此轉換器可偵測與處理的內容
  • 真正的 XML 驗證:格式錯誤的 XML(未封閉標籤、巢狀不符、屬性語法錯誤)會被拒絕,並給出精確的行號與欄號,而非無聲地猜測
  • 可設定的屬性處理:保留帶前綴的屬性(@_id)、將其轉換為一般物件屬性、歸類到單一 $attributes 物件下,或完全捨棄
  • 命名空間策略:保持標籤名稱上的命名空間前綴不變、移除前綴以取得更簡潔的鍵,或將命名空間 URI 另外保留為中繼資料
  • SOAP 清理:自動移除 SOAP 回應中常見的 Envelope/Body 包裝元素,只保留內容負載(一旦套用則不再往返安全)
  • CDATA 與型別解析控制:可選擇將 CDATA 區段展開為專用屬性,並選擇數字或布林型文字轉換為真正 JSON 型別的積極程度
  • 強制陣列路徑:指定特定的點號路徑(例如 rss.channel.item),使其永遠成為 JSON 陣列,即使某個訂閱源恰好只包含一個項目
  • 完全在瀏覽器中執行:你的 XML 資料絕不會上傳到伺服器
何時需要將 XML 轉換為 JSON
  • 將舊版 SOAP API 遷移到基於 JSON 的 REST 端點,讓 JavaScript 或 Node.js 程式碼無需 SOAP 用戶端即可處理回應
  • 解析 RSS 或 Atom 訂閱源為 JSON,以便在 JavaScript 框架中建立內容聚合器或新聞儀表板
  • 將 XML 設定檔(例如 Maven 的 pom.xml 或 .NET 的 web.config)轉換為 JSON,以便進行程式化編輯或與其他設定格式比較
  • 偵錯時將冗長的 XML API 回應轉換成易讀、有縮排的 JSON 以便檢查
  • 將 XML 資料匯出檔匯入 MongoDB 等以 JSON 為原生格式的資料庫
如何將 XML 轉換為 JSON
  1. 1.將 XML 貼到輸入編輯器,或上傳 .xml 檔案
  2. 2.選擇屬性應如何表示:帶前綴的屬性、一般屬性、歸類到 $attributes 下,或完全忽略
  3. 3.選擇命名空間策略——保留、移除,或保留為中繼資料——以配合你所需的鍵的簡潔程度
  4. 4.若你正在轉換 SOAP envelope 且只想要內部負載,請啟用 SOAP 清理
  5. 5.點擊「轉換」,然後複製 JSON 輸出或下載為格式化或精簡的 .json 檔案
需要了解的邊界情況
  • 單一重複的子元素(只有一個 <item> 而非多個)不會自動被當作陣列處理,除非你在強制陣列路徑中列出該路徑——否則它會被轉換成一般物件,這可能會破壞期望取得陣列的程式碼
  • 混合內容——同時包含文字與子元素的元素——會被展平,文字部分會以 #text 屬性與子元素的鍵並列顯示
  • 像 "00123" 這樣帶前導零的數字形式的值,或超出 JSON 安全精度範圍的整數,預設會保留為字串;只有在確定資料中不包含類似 ID 的值時才應啟用積極型別解析
  • 轉換過程中會捨棄 XML 註解,因為 JSON 沒有對應的結構
限制
  • 往返轉換(XML 轉 JSON 再轉回 XML)不保證逐位元組還原原始文件——除非啟用往返安全模式,否則元素順序、空白字元與註解不會完全保留,而且該模式也只對 XML 轉 JSON 這一段生效
  • 非常大的 XML 文件(數十 MB)可能超出瀏覽器記憶體或拖慢底層剖析器——對於超大檔案,請使用串流(SAX)剖析器或 xmlstarlet 等命令列工具
  • 此工具僅驗證格式是否完整,不驗證是否符合 XSD schema——即使文件違反了 schema 規範,只要它是格式良好的 XML,仍會被轉換且不會給出警告
需要反向轉換嗎?

如果你從 JSON 物件或陣列出發,需要產生 XML——例如呼叫舊版 SOAP 端點,或產生某個僅支援 XML 的工具所需的設定檔——請改用 JSON 轉 XML 轉換器。它讓你控制縮排、決定帶 @ 前綴的鍵是否轉換為屬性,並可抑制空元素。