tomai
登入
免費 · 開發者工具

XML 轉 JSON

把 XML 文檔轉換成乾淨、可預期的 JSON

XML 輸入
JSON 輸出

什麼是 XML 轉 JSON 轉換器?

XML 是 2000 年代的數據格式主力,至今仍存在於 RSS 訂閱源、銀行 API、SOAP 服務和舊配置文件裏。現代 JavaScript、Python 和 Go 代碼讀 JSON 自然得多。XML 轉 JSON 轉換器用一套可預期的規則把文檔翻譯成平實對象:每個元素變成一個對象,屬性以 "@@" 前綴標註,避免名爲 id 的屬性與同名子元素衝突,文本內容放在 "@text" 下,重複的兄弟元素摺疊成數組,目錄裏的 一個都不會丟。

它能做什麼

  • 把嵌套元素解析成 JSON 對象
  • 區分屬性(@@ 前綴)、文本(@text)和子元素
  • 自動把重複兄弟元素分組爲數組
  • 乾淨處理 CDATA、註釋、聲明和自閉合標籤
  • 標籤不匹配或未閉合時給出明確報錯
  • 以可讀縮進格式化 JSON

什麼時候用它

  • 讀取 RSS/Atom 訂閱源或 SOAP 類響應
  • 把 XML 配置遷移到基於 JSON 的管道
  • 查看舊 XML API 實際返回了什麼
  • 根據 XML 參考數據構建 JSON 測試夾具

隱私:轉換完全在你的瀏覽器裏進行,粘貼的內容絕不會被上傳。

本轉換器的映射約定

  • XML 屬性變成帶 @ 前綴的鍵(price currency="EUR"{"@currency":"EUR"}),永不與子元素撞名。
  • 文字與子元素混合的元素,其文字放進 #text;純文字元素直接映射為字串。
  • 重複的兄弟元素合併成陣列;XML 宣告、註解與處理指令一律丟棄。

屬性與文字節點需要約定

屬性與文本永不混淆

屬性變成 "@@id" 風格的鍵、文本放在 "@text" 下,同名的屬性和元素永遠不會互相覆蓋。

🔒

列表保持爲列表

重複的兄弟元素會自動摺疊成 JSON 數組——五本書的目錄變成五個對象的數組,而不是被覆蓋成一本書。

🎯

兼容真實 XML

CDATA、註釋、DOCTYPE 和自閉合標籤都能幹淨解析;真正畸形的 XML 也會得到清晰的錯誤信息。

常見問題

屬性如何表示?

屬性變成以 "@@" 前綴的鍵,例如 <book id="5"> 變成 {"@@id":"5"}。避免名爲 "id" 的屬性與同名子元素髮生經典衝突。

重複的元素會怎樣?

同名的重複兄弟元素會自動分組爲 JSON 數組。單個出現保持爲單個對象,多個出現則變成數組——兩種情況讀起來都很直觀。

我的 XML 會被上傳嗎?

不會。一切都在你的瀏覽器裏用純 JavaScript 運行——沒有任何內容被傳輸或存儲。

我的屬性在 JSON 輸出裡去哪了?

到該元素對應的物件裡找帶 @ 前綴的鍵。如果只看到 #text,代表這個元素同時有屬性與內容;如果預期中的屬性完全找不到,它多半長在父節點上——往上一層展開看看。

相關工具

相關工具