功能介紹
這個工具能把 XML 文件轉成 JSON。元素變成物件的鍵,屬性變成帶前綴的鍵,元素內的文字變成它的值,重複的同層元素則變成陣列。轉換前會先驗證 XML:如果有標籤沒有閉合或屬性格式錯誤,你會看到確切的行號和欄號。
使用方式
- 把 XML 貼到 輸入 框、上傳或拖曳
.xml檔案進來,或按 範例。 - JSON 會隨著輸入即時顯示在右側。
- 調整選項:
- 縮排:2 或 4 個空格、Tab,或壓縮輸出。
- 屬性前綴:屬性的標記,預設是
@。留空則忽略屬性。 - 轉換數字和布林值:把
42和true這類文字轉成真正的 JSON 數字和布林值。 - 子元素一律用陣列:把每個子元素都包進陣列,讓結構可預期。
- 複製結果,或下載成
.json檔案。
範例
<book id="bk101">
<title lang="en">XML Developer's Guide</title>
<tag>xml</tag>
<tag>programming</tag>
</book>
會變成
{
"book": {
"title": { "#text": "XML Developer's Guide", "@lang": "en" },
"tag": ["xml", "programming"],
"@id": "bk101"
}
}
注意事項
XML 宣告(<?xml ...?>)和處理指令不會出現在 JSON 中。註解會被忽略。文字前後的空白會被去除。
常見問題
› XML 屬性在 JSON 中如何表示?
以屬性前綴開頭的鍵表示,預設前綴是 "@"。例如 <price currency="USD">44.95</price> 會變成 { "@currency": "USD", "#text": "44.95" }。清空前綴欄位則會完全略過屬性。
› 為什麼同一個元素有時是陣列、有時是物件?
重複的元素會變成陣列,單一元素則保持為一般的值。如果你的程式碼每次都需要相同的結構,請開啟「子元素一律用陣列」。
› 數字會被轉換嗎?
預設不會,因為郵遞區號或開頭為 0 的 ID 這類值會因此改變。開啟「轉換數字和布林值」,就會得到 42 而不是 "42"、true 而不是 "true"。
› 我的 XML 會被上傳嗎?
不會。剖析在你的瀏覽器中進行。