Python之Json模塊詳解


Step1:Json是什么

JSON(JavaScript Object Notation, JS 對象標記) 是一種輕量級的數據交換格式。具有數據格式簡單,讀寫方便易懂等很多優點。

許多主流的編程語言都在用它來進行前后端的數據傳輸,大大的簡化了服務器和客戶端的開發工作量。相對於 XML 來說,更加的輕量級,更方便解析,因此許多開發者都遵循 Json 格式來進行數據的傳輸和交換。

Json 的數據格式其實就是 Python 里面的字典格式,里面可以包含方括號括起來的數組,也就是 Python 里面的列表。

 

Step2:Json 模塊的四個方法

  • dumps():將dict數據轉化成json數據(Python里是str類型)
  • loads():將json數據轉化成dict數據(Python里是dict類型)
  • load():讀取json文件數據,轉成dict數據
  • dump():將dict數據轉化成json數據后寫入json文件

 

Step3:Python代碼實現

 1 import json
 2 def dict_to_json():
 3     dict1={}
 4     dict1['name']='tom'
 5     dict1['age']=20
 6     dict1['sex']='male'
 7     print(dict1)
 8     jsons=json.dumps(dict1)
 9     print(jsons)
10     print(type(jsons))
11  
12 def json_to_dict():
13     jsons = '{"name": "tony", "age": 28, "sex": "male", "phone": "123456", "email": "loadkernel@126.com"}'
14     dict1= json.loads(jsons)
15     print(dict1)
16     print(type(dict1))
17  
18 def dict_to_json_write_file():
19     dict = {}
20     dict['name'] = 'tom'
21     dict['age'] = 10
22     dict['sex'] = 'male'
23     print(dict)
24     with open('test.json', 'w') as f:
25         json.dump(dict, f)
26  
27 def json_file_to_dict():
28     with open('test.json', 'r') as f:
29         dict1 = json.load(f)
30         print(dict1)
31         print(type(dict1))
32  
33 if __name__ == '__main__':
34     dict_to_json()
35     json_to_dict()
36     dict_to_json_write_file()
37     json_file_to_dict()

運行結果如下:

{'name': 'tom', 'age': 20, 'sex': 'male'}
{"name": "tom", "age": 20, "sex": "male"}
<class 'str'>
{'name': 'tony', 'age': 28, 'sex': 'male', 'phone': '123456', 'email': 'loadkernel@126.com'}
<class 'dict'>
{'name': 'tom', 'age': 10, 'sex': 'male'}
{'name': 'tom', 'age': 10, 'sex': 'male'}
<class 'dict'>

歡迎關注【無量測試之道】公眾號,回復【領取資源】
Python編程學習資源干貨、
Python+Appium框架APP的UI自動化、
Python+Selenium框架Web的UI自動化、
Python+Unittest框架API自動化、
資源和代碼 免費送啦~
文章下方有公眾號二維碼,可直接微信掃一掃關注即可。

備注:我的個人公眾號已正式開通,致力於測試技術的分享,包含:大數據測試、功能測試,測試開發,API接口自動化、測試運維、UI自動化測試等,微信搜索公眾號:“無量測試之道”,或掃描下方二維碼:

添加關注,讓我們一起共同成長!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM