1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Json模块dumps loads dump load函数介绍

Json模块dumps loads dump load函数介绍

时间:2019-06-25 18:58:14

相关推荐

Json模块dumps loads dump load函数介绍

转自:/mr_evanchen/article/details/77879967

Json模块dumps、loads、dump、load函数介绍

1、json.dumps()

json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。

[python]view plaincopy importjsonname_emb={'a':'1111','b':'2222','c':'3333','d':'4444'}jsObj=json.dumps(name_emb)print(name_emb)print(jsObj)print(type(name_emb))print(type(jsObj))

运行结果如下:

[python]view plaincopy {'a':'1111','c':'3333','b':'2222','d':'4444'}{"a":"1111","c":"3333","b":"2222","d":"4444"}<type'dict'><type'str'>

若在数据写入json文件时,未先进行转换,报错如下

[python]view plaincopy importjsonname_emb={'a':'1111','b':'2222','c':'3333','d':'4444'}emb_filename=('/home/cqh/faceData/emb_json.json')#jsObj=json.dumps(name_emb)withopen(emb_filename,"w")asf:f.write(name_emb)f.close()

转换后再写入,则不报错

2、json.loads()

json.loads()用于将str类型的数据转成dict。

[python]view plaincopy importjsonname_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)print(type(name_emb))print(type(jsDumps))print(type(jsLoads))

运行结果如下:

'a'变成了u'a'是因为发生了类型转换,str会转换成unicode

[python]view plaincopy {'a':'1111','c':'3333','b':'2222','d':'4444'}{"a":"1111","c":"3333","b":"2222","d":"4444"}{u'a':u'1111',u'c':u'3333',u'b':u'2222',u'd':u'4444'}<type'dict'><type'str'><type'dict'>

3、json.dump()

json.dump()用于将dict类型的数据转成str,并写入到json文件中。下面两种方法都可以将数据写入json文件

[python]view plaincopy importjsonname_emb={'a':'1111','b':'2222','c':'3333','d':'4444'}emb_filename=('/home/cqh/faceData/emb_json.json')#solution1jsObj=json.dumps(name_emb)withopen(emb_filename,"w")asf:f.write(jsObj)f.close()#solution2json.dump(name_emb,open(emb_filename,"w"))

运行结果如下:

4、json.load()

json.load()用于从json文件中读取数据。

[python]view plaincopy importjsonemb_filename=('/home/cqh/faceData/emb_json.json')jsObj=json.load(open(emb_filename))print(jsObj)print(type(jsObj))forkeyinjsObj.keys():print('key:%svalue:%s'%(key,jsObj.get(key)))

运行结果如下:

[python]view plaincopy {u'a':u'1111',u'c':u'3333',u'b':u'2222',u'd':u'4444'}<type'dict'>key:avalue:1111key:cvalue:3333key:bvalue:2222key:dvalue:4444

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。