XML 轉 JSON 轉換器
把 SOAP 回應、RSS 摘要、設定檔或舊系統匯出檔中的資料,轉成 JavaScript、Python 或無程式碼工具能直接讀取的 JSON,不必自己動手寫解析器。
資料轉換器
或將CSV, TSV, TXT … 檔案拖曳到這裡 ·
每個檔案最大 95 MB· 最多 20 個檔案· 30 分鐘後刪除
檔案會在我們的伺服器上處理,並於 30 分鐘後刪除。
CSV 與文字檔中分隔欄位的字元,讀取與寫入都會使用。自動會從輸入偵測,並以逗號寫出。
UTF-8 適用於所有語言。若 Windows 上的 Excel 開啟 CSV 時重音字元或亞洲文字出現亂碼,請選擇含 BOM 的 UTF-8。
適用於 Excel、ODS 與 Numbers 輸入:只轉換第一個工作表,或轉換所有工作表(每個工作表輸出一個 CSV 並打包成 ZIP,或每個工作表對應一個 JSON 鍵)。
新試算表中工作表索引標籤的名稱,最多 31 個字元。
物件陣列會以欄位名稱作為每列的鍵;陣列的陣列較精簡,並將標題保留為第一個陣列。
包住所有列的外層元素名稱;每一列會成為其中的 <row>。
用於 CREATE TABLE 與 INSERT 陳述式。僅限字母、數字與底線。
不同資料庫的引號與欄位類型略有差異;請選擇您要匯入的資料庫。
將日期儲存格統一改寫成一種格式。ISO (2026-10-18) 對資料庫與程式碼最保險;保持原樣則維持來源中的顯示方式。
使用方式
- 1
上傳 XML 檔案
將 .xml 檔案拖曳到上傳區,每批最多 20 個,每個檔案最大 95 MB。每個檔案會各自獨立轉換。
- 2
選擇易讀或精簡格式
格式化排版預設為開啟,會將 JSON 縮排,方便閱讀與程式碼審查。若要取得最精簡的單行輸出作為 API 傳送內容,請在進階設定中關閉。
- 3
轉換並使用 JSON
按下轉換為 JSON,下載 .json 檔案,再載入到你的程式或工具中。
上傳 XML 後按下轉換為 JSON:元素會變成鍵,重複的元素會變成陣列,屬性則保留為加上 @ 前綴的鍵,因此標籤中的資訊不會遺失。
誰需要 XML 轉 JSON 轉換器
XML 1.0 於 1998 年 2 月成為 W3C 建議標準,之後十年間成為系統之間溝通的主要方式:SOAP 網路服務、RSS 與 Atom 訂閱源、Office 文件、銀行訊息、產品目錄。其中許多系統至今仍在運作。RFC 8259 規範的 JSON 則成為新式網頁 API 的主流,因為 JavaScript 不需要額外的解析函式庫就能讀取,而且幾乎能直接對應到各種語言的清單與字典。
因此需要轉換的人,通常是在銜接這兩個世代。前端開發者從付款或物流服務商收到 SOAP 回應,想要的是單純的物件。在 Zapier 或 Make 中的自動化建置者,要把供應商的 XML 訂閱源匯入以 JSON 運作最順暢的流程。資料工程師要從舊的 Java 應用程式遷移設定檔,或是學生需要把 RSS 訂閱源轉成 JSON 做課堂專題。大家想要的都是相同的結構,只是不要角括號。
XML 轉 JSON:標籤、屬性與文字如何對應
<order id="A-77"> <customer>林佳穎</customer> <total currency="EUR">59.90</total> <item sku="0042">檯燈</item> <item sku="0108">LED 燈泡</item> </order>
| XML 結構 | 範例 | JSON 結果 |
|---|---|---|
| 根元素 | <order> | 頂層鍵 order |
| 屬性 | id="A-77" | "@id": "A-77" |
| 僅含文字的元素 | <customer> | "customer": "林佳穎" |
| 文字加屬性 | <total currency="EUR">59.90</total> | {"@currency": "EUR", "#text": "59.90"} |
| 重複的元素 | 兩個 <item> 標籤 | "item": [ … , … ] 陣列 |
| 註解 | <!-- note --> | 會被捨棄;JSON 沒有註解 |
XML
Extensible Markup Language
XML 是 W3C 於 1998 年發布的結構化資料標記語言。它使用帶有屬性的巢狀標籤,並支援結構描述、命名空間與驗證,因此適合處理複雜文件。RSS 摘要、SVG、Office 文件、網站地圖,以及許多企業與政府的資料交換,都以它為基礎。XML 比 JSON 冗長,但所有程式語言與許多試算表工具都能讀取。
- 壓縮方式
- –
- 透明度
- –
- 動畫
- –
- 推出年份
- 1998 · W3C
JSON
JavaScript 物件表示法
JSON 是用於結構化資料的輕量文字格式,由 Douglas Crockford 在 2000 年代初期推廣,並標準化為 RFC 8259 和 ECMA-404。它以簡單易讀的語法表示物件、陣列、字串、數字、布林值和 null。幾乎所有程式語言都把它當作網頁 API、設定檔和應用程式間資料交換的預設格式。它沒有內建註解、日期或結構描述,大型巢狀檔案不用檢視器很難閱讀。
- 壓縮方式
- –
- 透明度
- –
- 動畫
- –
- 推出年份
- 2001 · Douglas Crockford
當舊系統或企業系統的資料需要傳到網頁應用程式、指令碼或自動化工具時,就需要將 XML 轉成 JSON:JSON 在 JavaScript 中可原生解析,也能直接對應到 Python 的字典。
JSON 無法表示的 XML 功能
兩種格式都描述樹狀結構,但 XML 帶有 JSON 從未具備的額外功能。W3C 在 1999 年定義的命名空間,讓一份文件可混用 soap: 與 xsi: 等詞彙;在 JSON 中,它們只會保留在鍵名裡。註解與處理指令無處可放,會被捨棄。混合內容,也就是文字與子標籤交錯,例如 XHTML 段落中夾有一個粗體字,在 XML 中是合法的,但轉成 JSON 會很不好處理,所以文件型的 XML 更適合轉成 HTML 或 Markdown,而不是 JSON。
順序是比較細微的問題。XML 會保留同層元素的先後順序,結構描述也可能依賴這一點;而依標準,JSON 物件的鍵是無序的。重複的元素在陣列中會維持原本順序,涵蓋了大多數實際資料。如果 XML 是要放進試算表而不是程式碼的扁平記錄清單,XML 轉 Excel 能直接給你列與欄,而 XML 轉 CSV 則會產生可供資料庫匯入的檔案。
XML 轉 JSON 常見問題
為什麼同一個元素在某個檔案是陣列,在另一個檔案卻是物件?
轉換器只能依據文件中實際存在的內容處理。如果一筆訂單有三個 item 標籤,items 會變成陣列;如果只有一個,就沒有重複的項目,因此會變成單一物件。讀取這份 JSON 的程式碼應同時支援兩種形式,或在迴圈處理前先把單一物件包進陣列。
XML 屬性在 JSON 中會怎麼表示?
每個屬性都會變成在名稱前加上 @ 的鍵,所以 currency="EUR" 會變成 "@currency": "EUR"。當元素同時有屬性與文字時,文字會放在它們旁邊的 #text 鍵中。這個慣例可避免屬性與子元素同名時發生衝突。
XML 裡的數字會轉成 JSON 數值嗎?
XML 本身沒有資料型別;標籤中的 42 與 "42" 看起來完全相同。因此數值會以字串輸出,郵遞區號與像 007 這類識別碼才不會出錯。解析之後,再把程式需要的欄位轉成數字即可。
soap:Envelope 這類命名空間前綴會怎麼處理?
前綴會保留在鍵名中,因此 envelope 會顯示為 soap:Envelope,命名空間宣告則顯示為 @xmlns:soap 鍵。這樣可以區分來自不同詞彙的元素;如果你只處理其中一種,可在程式碼中移除前綴。
之後可以再把 JSON 轉回 XML 嗎?
可以,使用 JSON 轉 XML。依循相同的 @ 與 #text 慣例,屬性會還原為屬性。註解與原本的縮排不會回來,因為 JSON 中並未保存這些內容。
- JSON 轉 XML 轉換器線上將 JSON 轉成 XML:鍵變成元素,陣列變成重複元素,全部包在您命名的根標籤內。輸出自動排版縮排,免註冊。
- XML 轉 CSV 轉換器線上將 XML 資料饋送、發票與系統匯出檔轉成 CSV。重複的紀錄成為列,子標籤成為欄。最多 20 個檔案,每個 95 MB。
- XML 轉 Excel 轉換器將 XML 發票、銀行對帳單、商品資料饋送與系統匯出檔開啟為 Excel XLSX 表格。不需 XML 對應或開發人員索引標籤,Mac 使用者也適用。
- YAML 轉 JSON 轉換器將 .yaml 與 .yml 檔案轉成 JSON,供只讀 JSON 的 API、驗證器與工具使用。預設縮排輸出,每批 20 個,檔案 30 分鐘後刪除。
- HTML 轉 JSON 轉換器將 HTML 表格轉成 JSON:標題儲存格成為鍵,每一列成為一個物件。上傳已儲存的 .html 或 .htm 網頁即可,不必寫爬蟲程式。
- JSON 轉 YAML 轉換器線上將 JSON 轉成 YAML,適用 Kubernetes、GitHub Actions、Compose 與 Ansible 設定檔。縮排正確、引號安全,每批 20 個檔案,免註冊。