我需要将 xml 数据转换为 json 格式。
我使用 django 作为后端,我不太习惯从 xml 解析数据,所以我考虑将数据转换为 json 然后解析它。
xml数据格式如下图:
<?xml version='1.0' encoding='ASCII'?>
<add>
...
<doc>
<field name="id">1</field>
<field name="title1">subtitle1</field>
<field name="title2">subtitle2</field>
</doc>
...
</add>
我需要使用python将格式转换为json。
另外,如果有更好的方法,请告诉我。
我尝试使用在线转换器进行转换,但 json 数据不准确。我得到了值,但没有得到键,并且一些转换器抛出错误。
您需要使用 xmltodict 包
pip install xmltodict
然后您可以将 XML 解析为 JSON,如下所示:
import xmltodict
import json
xml_data = """
<?xml version='1.0' encoding='ASCII'?>
<add>
<doc>
<field name="id">1</field>
<field name="title1">subtitle1</field>
<field name="title2">subtitle2</field>
</doc>
</add>
""".strip()
dict_data = xmltodict.parse(xml_data)
json_data = json.dumps(dict_data, indent=4)
print(json_data)
输出:
{
"add": {
"doc": {
"field": [
{
"@name": "id",
"#text": "1"
},
{
"@name": "title1",
"#text": "subtitle1"
},
{
"@name": "title2",
"#text": "subtitle2"
}
]
}
}
}