当需要在Python中传递数据时,通常会使用格式化的数据,例如JSON和XML。其中JSON和XML是最常用的格式化数据形式之一。在Python中,可以使用现成的库来轻松地实现JSON和XML之间的相互转换。本攻略将详细阐述Python中xml和json格式相互转换的操作示例,以便更好地进行数据处理。
一、XML和JSON格式介绍
XML是一种标记语言,用来存储和传输数据。其基本格式为:
<tag>value</tag>
JSON是一种轻量级的数据交换格式,常用于Web应用中发送和接收数据。其基本格式为:
{
"key1": "value1",
"key2": "value2",
...
}
二、XML转JSON操作示例
在Python中,我们可以使用Python内置的ElementTree来解析XML文件,并使用json库将XML数据转换为JSON数据。下面是一个简单的XML文件:
<students>
<student>
<name>tony</name>
<age>20</age>
<gender>male</gender>
</student>
<student>
<name>lisa</name>
<age>19</age>
<gender>female</gender>
</student>
</students>
import xml.etree.ElementTree as ET
import json
tree = ET.parse('students.xml')
root = tree.getroot()
data = []
for student in root.findall('student'):
item = {}
item['name'] = student.find('name').text
item['age'] = student.find('age').text
item['gender'] = student.find('gender').text
data.append(item)
json_data = json.dumps(data)
print(json_data)
运行上述代码后,输出的JSON数据如下:
[
{
"name": "tony",
"age": "20",
"gender": "male"
},
{
"name": "lisa",
"age": "19",
"gender": "female"
}
]
三、JSON转XML操作示例
在Python中,我们也可以使用Python内置的ElementTree来构建XML文件,并使用json库将JSON数据转换为XML数据。下面是一个简单的JSON数据:
[
{
"name": "tony",
"age": "20",
"gender": "male"
},
{
"name": "lisa",
"age": "19",
"gender": "female"
}
]
import xml.etree.ElementTree as ET
import json
json_data = '''
[
{
"name": "tony",
"age": "20",
"gender": "male"
},
{
"name": "lisa",
"age": "19",
"gender": "female"
}
]
'''
data = json.loads(json_data)
root = ET.Element('students')
for item in data:
student = ET.SubElement(root, 'student')
name = ET.SubElement(student, 'name')
name.text = item['name']
age = ET.SubElement(student, 'age')
age.text = item['age']
gender = ET.SubElement(student, 'gender')
gender.text = item['gender']
xml_data = ET.tostring(root, encoding='utf-8', method='xml')
print(xml_data.decode())
运行上述代码后,输出的XML数据如下:
<students>
<student>
<name>tony</name>
<age>20</age>
<gender>male</gender>
</student>
<student>
<name>lisa</name>
<age>19</age>
<gender>female</gender>
</student>
</students>
以上就是XML和JSON相互转换操作示例的完整攻略。在实际开发中,我们可以根据需求选择不同的方法进行转换。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中xml和json格式相互转换操作示例 - Python技术站