Python全量字段校验

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"
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值