关于python中的json进行格式化的输出

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

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

 1 import json
 2 
 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 <class 'dict'>
4 <class 'str'>

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

1 import json
2 
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 <class 'dict'>
4   File "C:/Users/zy/Documents/GitHub/python3/searchTest/json_test.py", line 11, in <module>
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 <class 'dict'>
5 <class 'str'>
6 <class 'dict'>

 

 

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'))

 

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 <class 'dict'>
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值