在 Python 中將 XML 轉換為 JSON

Muhammad Waiz Khan 2021年3月21日
在 Python 中將 XML 轉換為 JSON

在本教程中,我們將研究在 Python 中將 XML 轉換為 JSON 的方法。JSON 格式比 XML 格式更易於讀寫。其緊湊的樣式和輕巧的特性也提高了系統效能,尤其是在 RESTful API 中。由於 JSON 在許多方面都比 XML 更好,因此它在許多領域中被用作 XML 的替代品。

現在,假設我們已將資料儲存為 XML 格式,並且希望將其轉換為 JSON 格式;我們可以使用以下方法在 Python 中將 XML 資料轉換為 JSON。

在 Python 中使用 xmltodict 模組將 XML 轉換為 JSON

在 Python 中,我們擁有 json.dumps(obj) 方法,該方法將資料作為 obj 引數,並將其序列化為 JSON 格式的流,然後將格式化的資料作為輸出返回。

obj 引數可以是字典,字串,列表或元組等,json.dumps() 方法將根據其資料型別轉換 obj。就像我們需要 JSON 物件一樣,我們將必須以字典形式提供輸入,因為 json.dumps() 方法會將字典轉換為 JSON 物件。列表或元組型別將轉換為 JSON 陣列,字串型別將轉換為 JSON 字串。

我們可以使用 xmltodict.parse() 方法將 XML 資料轉換為 Python 字典資料型別。xmltodict.parse() 方法將 XML 格式的資料作為字串,解析資料,然後將輸出作為字典返回。

使用 xmltodict.parse() 方法將資料轉換為字典後,我們可以使用 json.dumps() 方法將資料轉換為 JSON 物件。

以下示例程式碼演示瞭如何在 Python 中使用 json.dumps()xmltodict.parse() 方法將 XML 資料轉換為 JSON。

import xmltodict
import json

dictionary = xmltodict.parse(
    """<note>
  <date>2021-03-07</date>
  <time>15:23</time>
  <to>Sara</to>
  <from>Khan</from>
  <msg>Let's meet this weekend!</msg>
</note>"""
)
json_object = json.dumps(dictionary)
print(json_object)

輸出:

{"note": {"date": "2021-03-07", "time": "15:23", "to": "Sara", "from": "Khan", "msg": "Let's meet this weekend!"}}

相關文章 - Python XML

相關文章 - Python JSON