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