下面我将详细讲解“使用Python处理JSON格式的数据”的完整攻略。
什么是JSON格式数据
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,是基于JavaScript语言的子集,使用易于人类阅读和编写的文本格式进行数据的传递。JSON格式数据由键值对组成,键名和键值之间用冒号分隔,每一对键值对之间用逗号分隔,整个JSON文本用大括号包起来。比如:
{
"name": "Alice",
"age": 25,
"hobbies": ["reading", "swimming", "cooking"],
"address": {
"street": "123 Main St",
"city": "New York",
"state": "NY"
}
}
读取JSON格式数据
使用Python处理JSON格式数据,需要使用内置的json模块。json模块提供了两个方法来处理JSON格式数据:loads()和dumps()。
- loads()方法:用于将JSON格式的字符串转成Python对象。
- dumps()方法:将Python对象转成JSON格式的字符串。
示例1:将JSON格式字符串转换为Python对象
import json
json_str = '{"name": "Alice", "age": 25, "hobbies":["reading", "swimming", "cooking"], "address": {"street": "123 Main St", "city": "New York", "state": "NY"}}'
# 将JSON格式的字符串转换为Python对象
data = json.loads(json_str)
# 打印Python对象
print(data)
输出结果为:
{'name': 'Alice', 'age': 25, 'hobbies': ['reading', 'swimming', 'cooking'], 'address': {'street': '123 Main St', 'city': 'New York', 'state': 'NY'}}
示例2:将Python对象转换为JSON格式字符串
import json
data = {
"name": "Alice",
"age": 25,
"hobbies": ["reading", "swimming", "cooking"],
"address": {
"street": "123 Main St",
"city": "New York",
"state": "NY"
}
}
# 将Python对象转换为JSON格式字符串
json_str = json.dumps(data)
# 打印JSON格式字符串
print(json_str)
输出结果为:
{"name": "Alice", "age": 25, "hobbies": ["reading", "swimming", "cooking"], "address": {"street": "123 Main St", "city": "New York", "state": "NY"}}
写入JSON格式数据
使用Python写入JSON格式数据,需要先将要保存的数据转成Python对象,然后再使用dumps()方法将Python对象转成JSON格式的字符串,最后再将JSON格式字符串写入文件中。
示例3:将Python对象写入JSON格式文件
import json
data = {
"name": "Alice",
"age": 25,
"hobbies": ["reading", "swimming", "cooking"],
"address": {
"street": "123 Main St",
"city": "New York",
"state": "NY"
}
}
# 将Python对象转换为JSON格式字符串
json_str = json.dumps(data, indent=4) # indent参数用于控制换行和缩进
# 将JSON格式字符串写入文件
with open("data.json", "w") as f:
f.write(json_str)
其中,indent参数用于控制换行和缩进,可以让JSON格式数据更加易读。
以上就是使用Python处理JSON格式数据的完整攻略,包含读取JSON格式数据和写入JSON格式数据的示例。