【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)
 

 

不负韶华,只争朝夕
原文地址:https://www.cnblogs.com/bigorangecc/p/14190152.html