什麼是JSON轉XML?
JSON to XML Converter 將 JSON 物件和陣列轉換為格式正確的 XML。巢狀結構、陣列和特殊字元都能正確跳脫。適合需要 XML 輸入的 SOAP API 和遺留系統。
工具會逸出特殊字元(& < > " '),清理含空格或符號的鍵名為合法標籤,並提供兩種陣列樣式:重複元素(<book>...</book><book>...</book>)或包裹元素(<books><item>...</item></books>)。也可以設定根元素名稱、是否輸出 XML 宣告與是否縮排。
使用方法
- 第一步——貼上 JSON 資料或上傳 .json 檔案。工具會在轉換前驗證 JSON 的正確性。
- 第二步——設定根元素名稱,並選擇陣列的表示方式(重複元素或包裹在父元素中)。
- 第三步——查看帶有語法醒目提示的生成 XML,然後複製到剪貼簿或下載為 .xml 檔案。
何時使用
- 對接只接受 XML 報文的 SOAP 服務或老舊企業 API。
- 從 JSON 列表生成 XML 網站地圖或 RSS 訂閱。
- 為 XSLT 轉換或 XSD 驗證流程準備測試資料。
結果
您需要將產品目錄 JSON 轉換為 SOAP API 所需格式,設定根元素為 catalog,即可獲得正確巢狀的 XML 輸出,包含 products、item、id 和 name 等標籤——無需手動撰寫 XML。
常見問題
- 陣列在 XML 中如何表示?
- 兩種方式。「重複元素」會為每個項目產生兄弟標籤(<user>...</user><user>...</user>),多數 XSD 預期此結構。「包裹於父元素」會加上一個容器並以 <item> 子節點放內容(<users><item>...</item></users>),適合要求顯式包裝的嚴格結構。
- JSON 鍵裡含空格或點號時會怎樣?
- XML 標籤名不能有空格與多數標點,工具會把不合法字元替換成底線。`first name` 會變成 <first_name>。以數字開頭的鍵會加上底線前綴,以維持 XML 合法。兩種鍵前綴具有特殊意義:以 @ 開頭的鍵會成為父元素的屬性(`"@id": 1` 產生 id="1"),而 #text 鍵會成為元素的文字內容。
- 生成的 XML 能通過我的 XSD 或 DTD 嗎?
- 工具產生格式良好的 XML,但結構驗證依賴元素名、屬性位置與順序,而這些 JSON 不會帶來。若需要屬性或嚴格順序,先在 JSON 改名,或用 XSLT 後處理。
- 為什麼 XML 宣告 <?xml version="1.0" encoding="UTF-8"?> 有時出現有時消失?
- 由「包含 XML 宣告」開關控制。SOAP、網站地圖、獨立 XML 檔通常需要這一行;嵌入其他文件中的 XML 片段則不需要,關閉開關即可省略。
- null 值如何處理?
- null 與 undefined 會變成自閉合標籤,例如 <middleName/>。這保留了欄位存在,但不會強迫填入空字串。若需要 xsi:nil="true",在產生後手動替換即可,JSON 本身沒有相對應的語義。