6-2 如何读写json数据-LMLPHP

通过查看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)

6-2 如何读写json数据-LMLPHP

>>> with open(r"C:\视频\python高效实践技巧笔记\6数据编码与处理相关话题\jsondemo2.txt",'w') as f:
json.dump(l, f)
json.dump(d, f)

6-2 如何读写json数据-LMLPHP

05-26 00:57