功能簡介
這個工具會把 JSON 資料轉換成 XML。物件變成元素,陣列變成重複元素,字串、數字和布林值變成文字,null 則變成空元素。以 @ 開頭的鍵會轉成屬性,#text 鍵用來設定元素的文字,這與「XML 轉 JSON」工具產生的格式相同,因此資料可以來回轉換。
使用方法
- 把 JSON 貼到 輸入 框、上傳
.json檔案,或點 範例。 - XML 會隨著輸入即時顯示在右側。無效的 JSON 會標出錯誤位置。
- 選擇 縮排 方式、設定 根元素名稱、修改 屬性鍵前綴,並選擇是否加入
<?xml ?>宣告。 - 複製 XML,或下載為
.xml檔案。
範例
{ "book": { "@id": "bk101", "title": "XML Guide", "tags": ["xml", "json"], "price": 44.95 } }
會變成
<?xml version="1.0" encoding="UTF-8"?>
<book id="bk101">
<title>XML Guide</title>
<tags>xml</tags>
<tags>json</tags>
<price>44.95</price>
</book>
說明
特殊字元會被跳脫(文字中的 &、<、>,屬性中還有 "),所以輸出可以被任何 XML 解析器載入。JSON 無法表達命名空間、註解或 CDATA,因此不會產生這些內容。
常見問題
› 要怎麼從 JSON 產生 XML 屬性?
讓鍵以「@」開頭。{"book": {"@id": "bk101", "title": "Guide"}} 會變成 <book id="bk101"><title>Guide</title></book>。你可以修改前綴,或把它清空,讓每個鍵都變成元素。
› JSON 陣列會怎麼轉換?
陣列會讓它的父元素依每個項目重複一次,所以 {"tag": ["a", "b"]} 會變成 <tag>a</tag><tag>b</tag>。頂層陣列或直接位於另一個陣列中的陣列,則使用 <item> 元素。
› 不是有效 XML 名稱的鍵會怎樣?
空格和符號會換成底線,以數字或「xml」開頭的名稱前面會加上底線,因此輸出永遠是格式正確的 XML。
› 根元素是從哪裡來的?
如果 JSON 物件只有一個鍵,那個鍵就會成為根元素。否則所有內容都會包在選項中設定的根元素名稱裡,預設為「root」。