天天看點

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

python json dump_python:Json子產品dumps、loads、dump、load介紹

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