【python】json.load() 和 json.loads() 的区别
【1】json.load() 和 json.loads() 的区别
【序列化】json.dump(文件句柄)/json.dumps(内存对象)
字典格式数据--》json格式
【反序列化】 json.load(文件句柄)/json.loads(内存对象)
json格式--》字典格式数据
# json.load()和json.loads() 的区别,两者第一个参数不同, # dic = json.loads(s) # dic = json.load(fp)
# load和loads都是实现“反序列化”,区别在于(以Python为例):
# 1、 # loads针对内存对象,即将Python内置数据(字符串)反序列化为 字典
# 使用json.dumps序列化的对象d_json = json.dumps({'a': 1, 'b': 2}),
# 在这里d_json是一个字串 '{"b": 2, "a": 1}' # d = json.loads(d_json) # { b": 2, "a": 1},使用loads重新反序列化为dict # 2、 # load针对 文件句柄 # 如本地有一个json文件a.json则可以d = json.load(open('a.json'))
with open("model.json",'r') as load_f:
load_dict = json.load(load_f)
# 相应的,dump就是将内置类型序列化为json对象后写入文件
with open("model.json","w") as f:
json.dump(new_dict,f)
print("加载入文件完成...")
【概括】
- json.load() 反序列化--从文件中读取json字符串,并将其转换为 字典格式
- json.dump() 序列化--将内置类型 序列化为json对象后,将json格式字符串 写到文件中
- json.loads() 反序列化--将json字符串转换为字典类型
- json.dumps() 序列化--将python中的字典类型 转换为字符串类型()
load,dump
可以加载外部文件 从外部JSON文件变成dict字典(外部文件一定要是json格式) json.lo www.hbbz08.com ad(open('a.json',"r")) 把dict字典变成json格式,生成到外部文件里面 json.dump(dict,open('a.json',"w")) 从内存处理 json={"name":"abc"} json.load(json) 从内存处理 dict={"name":"abc"} json.load(dict)
🐱不负韶华,只争朝夕🍚