json.dumps()是將字典類型轉化成字符串類型。python
import json name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'} jsObj = json.dumps(name_emb) print(name_emb) print(jsObj)
json.dump()用於將dict類型的數據轉成str,並寫入到json文件中json
import json name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'} emb_filename = ('/home/cqh/faceData/emb_json.json') # solution 1 jsObj = json.dumps(name_emb) with open(emb_filename, "w") as f: f.write(jsObj) f.close() # solution 2 json.dump(name_emb, open(emb_filename, "w"))
json.loads()將字符串類型轉化成字典類型jsonp
import json name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'} jsDumps = json.dumps(name_emb) jsLoads = json.loads(jsDumps) print(name_emb) print(jsDumps) print(jsLoads)
json.load()用於從json文件中讀取數據。code
# json_load.py strList = json.load(with open("listStr.json",mode='r')) print strList print strDict # {u'city': u'\u5317\u4eac', u'name': u'\u5927\u5218'}
pickle經常使用操做參考jsonci
格式要求:字符串
字典或者列表中存在中文,序列化的時候或轉爲UNcode格式,若是想保存中文就須要進行如下操做it
v1=[1,2,3,4,'2','大牛'] val = json.dumps(v1,ensure_ascii=False) print(val) #[1, 2, 3, 4, "2", "大牛"]
json:優勢:全部語言通用,缺點:只能序列化部分數據類型;不能連續load屢次io
pickle;能夠序列化多有數據,可是序列化以後只有python識別,能連續load屢次class
總結: dump與json轉化時能夠結合文件操做,dumps與jsons不能.import