DevToolPal
繁

JSON 轉 XML

把 JSON 轉換成格式正確、有縮排的 XML,陣列變成重複元素,以「@」開頭的鍵變成屬性。

本機處理,不會上傳

選項

輸入

0 字元 · 0 B

輸出

0 字元 · 0 B

功能簡介

這個工具會把 JSON 資料轉換成 XML。物件變成元素,陣列變成重複元素,字串、數字和布林值變成文字,null 則變成空元素。以 @ 開頭的鍵會轉成屬性,#text 鍵用來設定元素的文字,這與「XML 轉 JSON」工具產生的格式相同,因此資料可以來回轉換。

使用方法

  1. 把 JSON 貼到 輸入 框、上傳 .json 檔案,或點 範例。
  2. XML 會隨著輸入即時顯示在右側。無效的 JSON 會標出錯誤位置。
  3. 選擇 縮排 方式、設定 根元素名稱、修改 屬性鍵前綴,並選擇是否加入 <?xml ?> 宣告。
  4. 複製 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」。