> xml | json | 轉換 <
// 即時在XML和JSON資料格式之間轉換
[雙向轉換]
XML↔JSON 轉換
一鍵將XML轉換為JSON或將JSON轉換為XML。完全雙向支援。
[驗證]
語法檢查
自動驗證XML和JSON語法。對格式錯誤的輸入提供清晰的錯誤訊息。
[免費]
屬性支援
處理XML屬性、巢狀元素、CDATA區段和作為陣列的重複元素。
// 關於XML轉JSON轉換
運作原理:
使用瀏覽器原生DOMParser API解析XML,並遞迴遍歷建構JSON物件。XML屬性以'@'為前綴,文字內容在與子元素混合時使用'#text',重複的同級元素自動分組為陣列。
範例:
<book id="1"><title>你好</title></book> → {"book":{"@id":"1","title":"你好"}}
常見用途:
- >將SOAP/XML API回應轉換為JSON
- >將XML設定檔遷移到JSON
- >為Web應用轉換XML資料來源
- >將JSON負載轉換為舊系統的XML
- >分析和檢查複雜的XML結構
>> 常見問題
Q: XML和JSON有什麼區別?
A: XML使用標籤和屬性按W3C標準層次化地組織資料。JSON使用RFC 8259定義的鍵值對。JSON更緊湊且在JavaScript中原生支援,而XML支援屬性、命名空間和模式。
Q: XML屬性如何對映到JSON?
A: XML屬性被轉換為帶'@'前綴的JSON屬性。例如,<item id="1">在JSON輸出中變為{"@id": "1"}。
Q: 巢狀和重複元素如何處理?
A: 巢狀的XML元素變為巢狀的JSON物件。當多個同級元素共享相同的標籤名時,它們自動分組為JSON陣列。
Q: CDATA如何處理?
A: XML中的CDATA區段被視為文字內容。CDATA包裝器被移除,內容作為普通字串值包含。
Q: 支援XML命名空間嗎?
A: 命名空間前綴在元素和屬性名稱中按原樣保留。命名空間宣告也使用'@'前綴慣例保留。