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()将字符串类型转化成字典类型spa
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