開發者工具 / 01
XML 轉 JSON 轉換器
將 XML 文件轉成易讀的 JSON,並妥善處理屬性與重複元素。
XML 轉 JSON 轉換器: TOEA會讀取文件中的元素、屬性、文字與 CDATA,然後整理成 JSON:屬性會加上 @ 前綴,未包在子元素中的文字會成為 #text,同層重複的元素名稱則會成為陣列。 全程在瀏覽器中於本機執行,檔案不會上傳至伺服器。
- 分類
- 開發者工具
- 使用次數
- 在瀏覽器中
- 費用
- 免費・免註冊
- 可用狀態
- 可立即使用
全程在瀏覽器中執行
最多5 MB・不會上傳
所有內容都會變成文字
XML 沒有資料型別,因此<count>42</count>會變成"42",<active>true</active>會變成"true"。請在讀取 JSON 的程式碼中轉換數字與布林值,因為此時你知道各欄位的用途。屬性也是如此:即使@id看起來像數字,其中仍會存放字串。
讀取結果的程式碼也必須處理只偶爾重複出現的元素。出現一次的<item>是物件,出現兩次則是陣列,因此迴圈處理前請使用Array.isArray(x) ? x : [x]進行正規化。
不適合轉換的文件
此轉換適合資料,例如設定、API 回應、資訊提供與匯出內容,但不適合文章。在<p>Read <b>this</b> first</p>中,分散的文字會合併成一個#text值,而粗體文字會變成獨立的鍵,因此會失去閱讀順序。XHTML、DocBook 及類似文件格式,較適合使用 XML 程式庫處理。若要在轉換前檢查文件結構,請使用XML 格式化工具縮排。
使用方式
- 貼上 XML 或選擇檔案。
- 選擇縮排寬度。
- 複製或下載 JSON。
隱私與限制
文字會在您的瀏覽器中轉換,絕不上傳;如果檔案是設定檔或您不希望交給陌生人的匯出資料,這點就很重要。命名空間會原樣保留在元素名稱中,不會進行解析。
相關工具
常見問題
為什麼屬性會以 @ 開頭?
XML會將屬性與子元素分開處理,而 JSON 沒有這種區分。@ 前綴能讓兩者保持分開,還原轉換時就不必猜測。
為什麼某個元素變成了陣列?
重複出現的同層元素名稱一定會變成陣列,因為這就是該結構代表的意思。只出現一次的名稱則會保留為一般值。
#text 是做什麼用的?
同時包含文字與子元素的元素,需要一個位置存放未包在子元素中的文字,而 #text 就是這個位置。
哪些內容不支援?
不支援 DTD 實體定義、命名空間解析,以及宣告以外的處理指令。設定檔和 API 資料內容不會使用這些功能。
免費工具・使用在瀏覽器中次・免註冊