資料與文字工具

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 沒有數字與字串之分的概念。

我的資料會被上傳嗎?

不會。它在您的瀏覽器中轉換。