python json dump_python:Json模块dumps、loads、dump、load介绍

由上篇文章(python3+requests:get/post请求)涉及到的json.dumps()扩展

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

备注:文件路径前面加上 r 是为了避免转义

1 importjson2

3 dict = {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}4 string =json.dumps(dict)5 print(dict)6 print(string)7 print(type(dict))8 print(type(string))9

10 with open(r'C:\Users\zy\Documents\GitHub\python3\searchTest\json.json','w')as f:11 f.write(string)

1 {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}2 {"a": "wo", "b": "zai", "c": "zhe", "d": "li"}3

4

如果没有进行转换,则会报错:TypeError: write() argument must be str, not dict

1 importjson2

3 dict = {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}4 with open(r'C:\Users\zy\Documents\GitHub\python3\searchTest\json.json','w')as f:5 f.write(dict)

1 {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}2 Traceback (most recent call last):3

4 File "C:/Users/zy/Documents/GitHub/python3/searchTest/json_test.py", line 11, in

5 f.write(dict)6 TypeError: write() argument must be str, not dict

json.dumps()参数解释:常用参数解释

indent:应该是一个非负的整型,如果是0,或者为空,则一行显示数据;否则会换行且按照indent的数量显示前面的空白

sort_keys:将数据根据keys的值进行排序

1 response = requests.post(url=url,headers=headers).json()2 print(json.dumps(response,sort_keys=True,indent=4))

举例结果:

1 {2 "code": "200",3 "message": "",4 "redirect": "",5 "value": {6 "name": "so",7 "title": "360",8 "value": "2"

9 }10 }

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

1 dict = {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}2 dumps =json.dumps(dict)3 loads =json.loads(dumps)4

5 print(dict)6 print(dumps)7 print(loads)8

9 print(type(dict))10 print(type(dumps))11 print(type(loads))

1 {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}2 {"a": "wo", "b": "zai", "c": "zhe", "d": "li"}3 {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}4

5

6

3.json.dump()用于将dict类型的数据转成str,并写入到json文件中

1 dict = {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}2 json.dump(dict,open(r'C:\Users\zy\Documents\GitHub\python3\searchTest\json.json','w'))

1249000-20180514190744539-1509332060.png

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

1 filename = (r'C:\Users\zy\Documents\GitHub\python3\searchTest\json.json')2 jsObj =json.load(open(filename))3 print(jsObj)4 print(type(jsObj))

1 {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值