Python全量字段校验
1.概念与安装
1.1全量字段校验概念
- 校验接⼝返回响应结果的全部字段
1.2校验内容
- 字段值
- 字段名 或 字段类型
1.3校验流程
- 定义json语法校验格式
- ⽐对接口实际响应数据是否符合json校验格式
1.4安装 jsonschema库
pip install jsonschema -i https://pypi.douban.com/simple/
1.5 安装查验
- pip 查验:pip list 或 pip show jsonschema
- pycharm 中 查验:file — settings — 项目名中查看 python解释器列表是否有jsonschema。
1.6 Python全量字段校验在线校验
JSON Schema Validator - Newtonsoft
2.python代码校验
2.1实现步骤:
- 导包 import jsonschema
- 定义 jsonschema格式 数据校验规则
- 调⽤ jsonschema.validate(schema=“jsonshema规则”,instance=“json数据”,)
2.1查验校验结果
- 校验通过:返回 None
- 校验失败
- schema 规则错误,返回 SchemaError json
- 数据错误,返回 ValidationError
3. JSON Schema语法
3.1 JSON Schema语法关键字
- type:表示待校验元素的类型
- properties:定义待校验的JSON对象中,各个key-value对中value的限制条件
- required:定义待校验的JSON对象中,必须存在的key
- const:JSON元素必须等于指定的内容
- pattern:使用正则表达式约束字符串类型数据
1. 导包
import jsonschema
# 2. 创建 校验规则
schema = {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"code": {
"type": "integer"
},
"message": {
"type": "string"
}
},
"required": ["success", "code", "message"]
}
# 准备待校验数据
data = {
"success": True,
"code": 1.00,
"message": "操作成功"
}
# 3. 调用 validate 方法,实现校验
result = jsonschema.validate(instance=data, schema=schema)
print("result =", result)
# None: 代表校验通过
# ValidationError:数据 与 校验规则不符
# SchemaError: 校验规则 语法有误
3.2 type关键字
作用:约束数据类型
integer —— 整数
string —— 字符串
object —— 对象
array —— 数组 --> python:list 列表
number —— 整数/⼩数
null —— 空值 --> python:None
boolean —— 布尔值
语法:
{
"type": "数据类型"
}
示例
import jsonschema
# 准备校验规则
schema = {
"type"