資料與文字工具
JSON 轉 XML
將 JSON 轉成對等的 XML,並合理處理屬性與陣列。
JSON 轉 XML 在您的裝置上執行
- 在瀏覽器中執行 — 您輸入的內容不會被上傳
- 免註冊、無額度限制,可隨您高興使用多少次
運作方式
JSON 與 XML 能表達大部分相同的內容,但方式不同,因此任何轉換都涉及一些決定。這裡做出常見的決定,並告訴您它們是什麼。
陣列會變成重複的元素
XML 沒有清單型別。標準慣例是每個項目重複一次元素,因此包含三本書的陣列會變成並列的三個 <book> 元素。這是幾乎所有 XML 使用者所預期的,也是這裡所產生的結果。
屬性
XML 區分屬性與子元素;JSON 沒有對應的概念。廣泛使用的慣例是在鍵前加上 @,表示它應成為屬性,這裡也遵循此慣例,如果您的鍵確實以 @ 開頭,可以將它關閉。
名稱會被調整為合法
XML 元素名稱不能包含空格或大多數標點符號,也不能以數字開頭。違反這些規則的鍵,其無效字元會被替換為底線,必要時還會在前面加上底線。否則輸出將無法解析。
Null 值
null 會變成標記為 xsi:nil 的空元素,這是表達「刻意留空」而非「缺漏」的慣用方式。如果您的使用端不了解 xsi:nil,空元素通常會被以相同方式解讀。
來回轉換並不精確
JSON 區分數字 42 與字串 "42",XML 則不區分,除非有結構描述另行規定,否則 XML 中的一切都是文字。轉換回來並不能可靠地還原原始型別。
常見問題
JSON 轉 XML:常見問題
陣列如何處理?
以重複元素表示,這是標準的 XML 慣例,因為 XML 沒有清單型別。
可以產生屬性嗎?
可以。在鍵前加上 @,它就會成為屬性,此功能也可以關閉。
含有空格的鍵會怎麼處理?
無效字元會變成底線,因為 XML 名稱不能包含它們。否則輸出將無法解析。
可以轉換回 JSON 嗎?
可以,使用 XML 轉 JSON 工具,但型別不會被保留,XML 沒有數字與字串之分的概念。
我的資料會被上傳嗎?
不會。它在您的瀏覽器中轉換。