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自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

添加关注,让我们一起共同成长!

原文地址:https://www.cnblogs.com/Wu13241454771/p/15434571.html