一、JSON介绍
JSON的全称是”JavaScript Object Notation”,是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。
二、JSON特点
- JSON是纯文本
- JSON具有良好的自我描述性,便于阅读和编写
- JSON具有清晰的层级结构
- 有效地提升网络传输效率
三、JSON语法规则
- 大括号保存对象
- 中括号保存数组
- 对象数组可以相互嵌套
- 数据采用键值对表示
- 多个数据由逗号分隔
四、JSON的值
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在中括号中)
- 对象(在大括号中)
- null
五、JSON操作
1、python字典转换为json字符串
import json # 导入依赖包
json字符串 = json.dumps(字典)
2、json字符串转换为python字典
import json # 导入依赖包
字典 = json.loads(JSON字符串)
3、读取json文件
import json # 导入依赖包
with open('json文件名','r',encoding = 'utf-8') as f:
data = json.load(f) # 返回的数据类型为字典或列表
4、写入json文件
import json # 导入依赖包
with open('json文件名','w',encoding = 'utf-8') as f:
json.dump(data,f) # data为字典或列表
5、json字符串转换为yaml格式
import json
import yaml
def json_to_yaml(filename):
file = "./data/test.json" # json文件路径
with open(file, "r", encoding="utf-8") as f:
data = json.load(f) # 先将json文件转化为字典
yaml_data = yaml.dump(data) # 将字典转化为yaml格式的字符串
print(yaml_data)
6、yaml格式转化为json字符串
import json
import yaml
def yaml_to_json():
file = "./data/test.yaml" # yaml文件路径
with open(file, "r", encoding="utf-8") as f:
data = yaml.load(f, Loader=yaml.Loader) # 先将yaml文件转化为字典
json_data = json.dumps(data) # 将字典转化为json字符串
print(json_data)
六、python自动化测试的应用
1、json数据用作接口自动化请求参数
import json
def read_json():
file = "./data/test.json" # json文件路径
with open(file, "r", encoding="utf-8") as f:
data = json.load(f)
return data
输入:
输出:
2、json数据用作web/接口自动化数据驱动来源
import json
def read_json():
file = "./data/test.json" # json文件路径
data = []
with open(file, "r", encoding="utf-8") as f:
for i in json.load(f):
data.append(tuple(i.values()))
return data
输入:
输出:
3、yaml数据用作web/接口自动化数据驱动来源
import yaml
def read_yaml():
data = []
file = "./data/test.yaml" # yaml文件路径
with open(file, "r", encoding="utf-8") as f:
for i in yaml.load(f, Loader=yaml.Loader).values():
data.append(tuple(i.values()))
return data
输入:
输出: