在Python脚本中解析JSON数据需要使用Python内置的json库,它提供了loads()和dumps()两个方法,分别用于JSON数据的解析和生成。
以下是完整的攻略步骤:
1. 导入json库
在Python脚本中解析JSON数据,需要先导入json库:
import json
2. 使用loads()方法解析JSON数据
loads()方法可以将JSON格式的字符串转换为Python字典或列表。
比如,假设有如下JSON格式的数据:
{
"name": "John",
"age": 30,
"city": "New York"
}
可以使用以下代码将其解析为Python字典:
import json
# JSON格式的字符串
json_str = '{"name": "John", "age": 30, "city": "New York"}'
# 解析JSON字符串
data = json.loads(json_str)
# 打印解析后的数据
print(data)
运行上述代码,输出结果如下:
{'name': 'John', 'age': 30, 'city': 'New York'}
3. 使用dumps()方法生成JSON数据
dumps()方法可以将Python字典或列表转换为JSON格式的字符串。
比如,假设有如下Python字典数据:
data = {'name': 'John', 'age': 30, 'city': 'New York'}
可以使用以下代码将其转换为JSON格式的字符串:
import json
# Python字典
data = {'name': 'John', 'age': 30, 'city': 'New York'}
# 将字典转换为JSON格式的字符串
json_str = json.dumps(data)
# 打印转换后的JSON字符串
print(json_str)
运行上述代码,输出结果如下:
{"name": "John", "age": 30, "city": "New York"}
示例1:使用Python解析简单的JSON数据
以下为使用Python解析简单的JSON数据的示例代码:
import json
# JSON格式的字符串
json_str = '{"name": "John", "age": 30, "city": "New York"}'
# 解析JSON字符串
data = json.loads(json_str)
# 打印解析后的数据
print("Name:", data["name"])
print("Age:", data["age"])
print("City:", data["city"])
上述代码中的JSON数据为一个简单的字典,解析后输出其key值对应的value值。
执行上述代码,输出结果如下:
Name: John
Age: 30
City: New York
示例2:使用Python解析复杂的JSON数据
以下为使用Python解析复杂的JSON数据的示例代码:
import json
# 复杂的JSON格式的字符串
json_str = """
{
"students": [
{
"name": "John",
"age": 20,
"gender": "male"
},
{
"name": "Lucy",
"age": 18,
"gender": "female"
},
{
"name": "Tom",
"age": 22,
"gender": "male"
}
],
"teacher": {
"name": "Peter",
"age": 35,
"subject": "Math"
}
}
"""
# 解析JSON字符串
data = json.loads(json_str)
# 打印解析后的数据
for student in data["students"]:
print("Name:", student["name"])
print("Age:", student["age"])
print("Gender:", student["gender"])
print("Teacher Name:", data["teacher"]["name"])
print("Teacher Age:", data["teacher"]["age"])
print("Teacher Subject:", data["teacher"]["subject"])
上述代码中的JSON数据为一个复杂的字典,包括了嵌套的字典和列表。
执行上述代码,输出结果如下:
Name: John
Age: 20
Gender: male
Name: Lucy
Age: 18
Gender: female
Name: Tom
Age: 22
Gender: male
Teacher Name: Peter
Teacher Age: 35
Teacher Subject: Math
通过以上步骤和示例,可以很容易地在Python脚本中解析JSON数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在python 脚本下解析json数据 - Python技术站