由上篇文章(python3+requests:get/post请求)涉及到的json.dumps()扩展
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
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‘>
原文地址:https://www.cnblogs.com/shapeL/p/9037670.html
时间: 2024-12-26 21:35:43