JSON 轉 XML

把 JSON 轉成 XML,或把 XML 轉回 JSON。轉換在瀏覽器裡完成。

換成另一種寫法的同一棵樹

JSON 和 XML 可以裝同一棵樹,標點不一樣。這一頁把 JSON 寫成元素,或把元素讀回 JSON。它不檢查結構描述,回來的數字也會變成文字。只想排版 JSON 用 JSON 格式化。YAML 用 JSON 轉 YAML。

怎麼用

  1. 貼上 JSON 或 XML。方向選「JSON 轉 XML」或「XML 轉 JSON」。
  2. 根元素名是寫出 XML 時的最外層標籤,預設 root。陣列項名稱用在最外層就是陣列時,預設 item。
  3. 美化排版會加換行和縮排。關掉就是一行。
  4. 顯示範例會交替。一次把 {"name":"Ada","n":2,"tags":["a","b"]} 轉成 XML,下一次把這段 XML 轉回 JSON。

值怎麼寫

物件變成巢狀元素。陣列變成重複的同名標籤。最外層如果是陣列,會包進根元素,每一項用陣列項名稱。以 @ 開頭的鍵變成屬性。#text 變成標籤裡的文字。null 變成空標籤。名稱要以字母或底線開頭。數字開頭、空格和多數標點會被拒絕。轉回來時,相鄰的同名標籤變成 JSON 陣列,屬性變回 @名稱,每個值都是文字,所以 2 會變成 "2"。瀏覽器解析不了的標籤會提示 XML 錯誤。壞掉的 JSON 會提示 JSON 錯誤。

什麼時候用

  • 把一小段 JSON 設定交給只收 XML 的工具。
  • 把短 XML 讀成 JSON,再去排版。
  • 先看陣列會變成重複標籤,再決定要不要自己寫轉換。

常見問題

數字回來帶了引號。

這種轉換裡 XML 沒有數字型別。標籤裡的文字會變成 JSON 字串。下一步若要數字,請自己轉回去。

某個鍵被拒絕了。

XML 名稱不能以數字開頭,也不能有空格。請改成字母、數字、_、-、.,第一個字元用字母或底線。