jsonschema

from jsonschema import validate


result = {
"code": 0,
"msg": "login success!",
"token": "000038efz7edc7438d781ab0775000038efz7ed",
"username": "test"
}



# 编写schema
schema = {
    '$schema':'http://json-schema.org/draft-04/schema#', # 声明应用的schema规范
    'title':'test demo', # 给schema定义标题
    'description':'validate result', # 描述当前schema
    'type':'object',
    'properties':{
        'code':{
            'description':'status code',
            'type':'integer'
        },
        'msg':{
            'description':'response message',
            'type':'string'
        },
        'token':{
            'description':'login return token',
            'type':'string', # 规定类型为字符串
            'maxLength':40,# 最大长度为40位
            'minLength':30,
            'pattern':'^[a-z0-9]{20,40}$',# 有a-f和数字组成且长度为40位

        }
    },
    'required':['code','msg','token'] #规定校验的json中必须包含'code','msg','token'

}

# 校验json,使用validate。
# 如果校验通过,没有返回值
# 如果校验不通过,抛出jsonschema.exceptions.ValidationError异常。
#如果schema本身有问题,抛出jsonschema.exceptions.SchemaError异常。

validate(instance=result,schema=schema)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值