一、数据加载
1、json.loads()
接受一个包含JSON数据的字符串作为参数,从字符串中加载JSON数据。
import json
json_string = '{"name":"Alice","age":30,"is_student":false,"hobbies":["reading","painting"]}'
parsed_data = json.loads(json_string)
print(parsed_data["name"])
print(parsed_data["age"])
print(parsed_data["is_student"])
print(parsed_data["hobbies"])
2、json.load()
接受一个已经打开的文件对象作为参数,从文件中读取JSON数据。
import json
with open('your_file.json', 'r') as file:data = json.load(file)
3、异常处理
json.load
:会抛出json.JSONDecodeError
异常,如果文件不是有效的JSON格式。
json.loads
:同样会抛出json.JSONDecodeError
异常,如果提供的字符串不是有效的JSON格式。
总体而言,选择使用json.load
还是 json.loads
取决于数据来源。如果数据在文件中,使用 json.load
如果你的数据已经作为字符串存在,使用 json.loads
更为方便。
二、数据保存
1、json.dumps()
将 Python 对象转换为 JSON 字符串,并返回该字符串。
import json
data = {"name":"Alice","age":30,"is_student":False,"hobbies":["reading","painting"]}
json_string = json.dumps(data)
print(json_string)
使用 json.dumps() 生成 JSON 字符串时,需要确保 Python 对象中的所有数据都可以被正确地序列化为 JSON 数据类型,否则会抛出 TypeError 异常。
2、json.dump()
将 Python 对象转换为 JSON 字符串,并将该字符串写入文件。
import json# 定义 Python 对象
data = {"name":"Alice","age":30,"is_student":False,"hobbies":["reading","painting"]}# 打开文件并将 Python 对象写入文件
with open('data.json', 'w') as f:json.dump(data, f)
参考
- Python的json.loads() 方法与json.dumps()方法及使用小结
- json.load和 json.loads
- Python | 一文简单搞懂json.dump()与json.dumps()的区别