XML ⇄ JSON 轉換器
關於此工具
可以在 XML 與 JSON 之間互相轉換。邏輯已調整為重視往返轉換(直接轉換再轉回)。
將同名的重複元素轉成陣列的預設值設為關閉,僅在有 2 個以上時才會陣列化。
當 JSON 根是陣列時,XML 會以 <root><item>…</item>…</root>
表示,並且在 XML→JSON 時會把這種結構還原成陣列。
所有處理都在瀏覽器內完成,資料不會傳送到外部。
XML ⇄ JSON 轉換
—
使用方式
- 在左側貼上 XML 或 JSON。
- 按下 XML → JSON 或 JSON → XML。
- 視需要調整縮排、屬性/文字的鍵、命名空間保留以及陣列處理。
- 使用 Validate 按鈕進行語法檢查。
範例
XML → JSON:
<user id="42">
<name>Taro</name>
<role>admin</role>
<role>editor</role>
</user>
{
"user": {
"@id": "42",
"name": "Taro",
"role": ["admin", "editor"]
}
}
補充
- 屬性使用
[屬性前綴][屬性名稱]
表示(預設如@id
)。 - 元素內文使用
[文字鍵]
(預設#text
)。 - 同名元素預設維持單一值,只有在有 2 個以上時才會陣列化。
- 當 JSON 根是陣列時,XML 會以
<root><item>…</item>…</root>
表示(項目名稱可調整)。 - 空元素在沒有文字與屬性時會輸出為空物件
{}
。
注意事項(等價性的限制)
我們盡量讓「原始 JSON」→XML→「還原後的 JSON」可以得到相同檔案,但遇到以下情況時請理解仍有困難。
原始 JSON:
"urls": [
"admin.microsoft.com"
],
"expressRoute": false,
"id": 160,
還原後的 JSON:
"urls": "admin.microsoft.com",
"expressRoute": "false",
"id": "160",
※由於 XML 與 JSON 對型別的處理不同,雖然可透過 XML 端的型別註解等方式規避,但要達成嚴格的等價性仍相當困難。