通过查看help(json.dump)和help(json.dumps)帮助信息,dump是将转换格式到文件对象,而dumps转换格式到字符串。
一、Json.dumps()
Json.dumps()将python对象转为json格式。
1、将列表转为json格式,
>>> l = [1,2,'abc',{'name':'bob','age':13}]
>>> json.dumps(l)
'[1, 2, "abc", {"age": 13, "name": "bob"}]'
2、将字典转为json
>>> d = {'b':None,'a':5,'c':'abc'}
>>> json.dumps(d)
'{"a": 5, "c": "abc", "b": null}'
转换后与转换前基本一致,但python的None要转为json的null
Json.dumps()转为json后的分隔符默认为’, ’或’: ’(逗号空格或冒号空格)。可以通过separators指定分隔符,去掉其中的空格,空格做为显示时好看一些,做传输时多传输了。
>>> json.dumps(l,separators=[',',':'])
'[1,2,"abc",{"age":13,"name":"bob"}]'
将转换结果排序使用 sort_keys参数
>>> json.dumps(d,sort_keys=True)
'{"a": 5, "b": null, "c": "abc"}'
二、将json格式数据转为python对象
两个函数为load()和loads()
>>> d2 = json.loads('{"a": 5, "c": "abc", "b": null}')
>>> d2
{u'a': 5, u'c': u'abc', u'b': None}
三dump和load对文件进行操作
>>> with open(r"C:\视频\python高效实践技巧笔记\6数据编码与处理相关话题\jsondemo.txt",'wb') as f:
json.dump(l, f)
json.dump(d, f)
>>> with open(r"C:\视频\python高效实践技巧笔记\6数据编码与处理相关话题\jsondemo2.txt",'w') as f:
json.dump(l, f)
json.dump(d, f)