Tutorial

如何在 Python 中將 JSON 轉換為 XML – 完整教學與程式碼範例

學習如何使用 xmltodict 和 dicttoxml 在 Python 中逐步將 JSON 轉換為 XML。包含範例、程式碼片段和免費線上轉換器。

2025-10-11
5 min read

🐍 如何在 Python 中將 JSON 轉換為 XML:完整教學與程式碼範例

JSONXML 格式之間轉換資料是 Web 開發、資料整合和 API 設計中的常見任務。

無論您是在遷移遺留系統還是建構新應用程式,了解如何在 Python 中高效執行此轉換都將為您節省大量時間。

在本指南中,我們將介紹您需要的一切——從基本範例到生產就緒的程式碼片段。


🔍 什麼是 JSON 和 XML?

在深入程式碼之前,讓我們明確這兩個格式代表什麼。

  • JSON(JavaScript 物件表示法)

一種輕量級、人類可讀的格式,主要用於 API 和 Web 應用程式。

  • XML(可擴展標記語言)

一種基於標記的格式,廣泛用於企業系統、設定檔案和遺留整合。

兩種格式都以階層結構組織資料,但它們在語法和元資料表示方面有所不同。


⚙️ 設定:安裝所需的函式庫

Python 不包含內建的 XML-JSON 轉換實用程式,但您可以安裝像 xmltodict 這樣的輕量級套件。

pip install xmltodict

或者,如果您只需要 JSON → XML 轉換,可以使用 dicttoxml

pip install dicttoxml


🧩 範例 1:使用 xmltodict 將 JSON 轉換為 XML

這是將 JSON 轉換為 XML 的最直接方法:

import json
import xmltodict

# 範例 JSON 字串
json_data = '{"user": {"name": "Alice", "age": 25, "city": "Tokyo"}}'

# 將 JSON 轉換為 Python 字典
data_dict = json.loads(json_data)

# 將字典轉換為 XML
xml_data = xmltodict.unparse(data_dict, pretty=True)

print(xml_data)

輸出:

<?xml version="1.0" encoding="utf-8"?>
<user>
    <name>Alice</name>
    <age>25</age>
    <city>Tokyo</city>
</user>

💡 提示:

您可以使用以下參數設定自訂根標籤或省略 XML 標頭:

xmltodict.unparse(data_dict, full_document=False)


🧠 範例 2:使用 dicttoxml 將 JSON 轉換為 XML

dicttoxml 在屬性和型別註解方面提供更多控制。

import json
from dicttoxml import dicttoxml

json_data = '{"product": {"id": 101, "name": "Laptop", "price": 899.99}}'
data_dict = json.loads(json_data)

xml_data = dicttoxml(data_dict, custom_root='catalog', attr_type=False)
print(xml_data.decode())

輸出:

<catalog>
  <product>
    <id>101</id>
    <name>Laptop</name>
    <price>899.99</price>
  </product>
</catalog>


🔄 獎勵:將 XML 轉換回 JSON

您可以輕鬆地逆轉此過程:

import xmltodict
import json

xml_data = """
<user>
  <name>Alice</name>
  <age>25</age>
</user>
"""

data_dict = xmltodict.parse(xml_data)
json_output = json.dumps(data_dict, indent=4)

print(json_output)

結果:

{
    "user": {
        "name": "Alice",
        "age": "25"
    }
}


🚀 完整腳本範例

這是一個您可以在專案中重用的緊湊函數:

import json
import xmltodict

def json_to_xml(json_string: str, root_tag: str = None) -> str:
    data = json.loads(json_string)
    if root_tag:
        data = {root_tag: data}
    return xmltodict.unparse(data, pretty=True)

# 用法
sample_json = '{"device": {"id": 123, "status": "active"}}'
xml_result = json_to_xml(sample_json, root_tag="devices")
print(xml_result)


🌐 線上替代方案:即時轉換

不想編寫任何程式碼?

試試我們的免費線上轉換器——只需貼上或上傳您的 JSON,即可立即下載乾淨的 XML:

👉 將 JSON 轉換為 XML – 免費線上工具

  • • ✅ 100% 免費且私密
  • • ⚡ 即時轉換
  • • 📁 支援上傳和下載


🏁 結論

使用 xmltodictdicttoxml 等工具,在 Python 中將 JSON 轉換為 XML 很簡單。

無論您是在處理 API 資料還是匯出結構化報告,這些程式碼片段都將處理大多數使用案例。

如果您只需要快速轉換,請造訪:

🔗 https://www.jsonwork.com/zh-tw/json-to-xml

線上試用——無需設定!


JsonWork.com 撰寫 – 線上轉換 JSON 的最快方式。
👨‍💻

JsonWork 團隊

致力於為開發者提供最佳的 JSON 處理工具

相關文章

更多文章即將發布...

需要幫助?