json.dump()、 json.dumps()、 json.loads() 、 json.load() 的区别?
-
json.dump():将Python对象序列化为JSON格式的数据并将其写入文件。它接受两个参数:要序列化的Python对象和要写入的文件对象。示例用法:json.dump(obj, file)。
-
json.dumps():将Python对象序列化为JSON格式的字符串。它接受一个参数:要序列化的Python对象。示例用法:json.dumps(obj)。
-
json.load():从文件中读取JSON格式的数据并将其反序列化为Python对象。它接受一个参数:要读取的文件对象。示例用法:json.load(file)。
-
json.loads():将JSON格式的字符串解析为Python对象。它接受一个参数:要解析的JSON字符串。示例用法:json.loads(json_string)。
简而言之:
- json.dump() 序列化Python对象并将其写入文件。
- json.dumps() 序列化Python对象并返回JSON格式的字符串。
- json.load() 从文件中读取JSON数据并将其反序列化为Python对象。
- json.loads() 将JSON格式的字符串解析为Python对象。
json.dump
# 将Python对象序列化为JSON格式并写入文件
data = {
'name': 'John',
'age': 30,
'city': 'New York'
}
with open('data.json', 'w') as file:
json.dump(data, file)
json.load
# 从文件中读取JSON数据并反序列化为Python对象
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
# 输出: {'name': 'John', 'age': 30, 'city': 'New York'}
json.dumps
# 将Python对象序列化为JSON格式的字符串
data = {
'name': 'John',
'age': 30,
'city': 'New York'
}
json_string = json.dumps(data)
json_string
# 输出: '{"name": "John", "age": 30, "city": "New York"}'
print(json_string)
# 输出: {"name": "John", "age": 30, "city": "New York"}
json.loads
# 将JSON格式的字符串解析为Python对象
json_string = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_string)
print(data)
# 输出: {'name': 'John', 'age': 30, 'city': 'New York'}