如何使用jsonschema进行接口响应断言

本文介绍了JSONSchema的基本概念,包括版本、安装方法及核心元素如type、properties、propertyNames、required和enum的用法。通过理解这些,可以利用JSONSchema有效地对接口响应进行断言和校验。
摘要由CSDN通过智能技术生成

一,JSONSchema的概念

JSONSchema是一种用来描述JSON数据的一种JSON数据结构。JSON Schema也有版本,目前的版本有 Draft 7,Draft 6,Draft 4 和Draft 3。使用之前我们先进行cmd安装:pip install jsonschema

二,JSONSchema解析

2.1,type节点

string

number(int/float)

object(dict)

array(list)

boolean

null

{
    "type": "string" }

2.2,properties

json以key–value的形式存在,实际就是描述存在的key值。

"properties": {
   "name": {
   "type": "string"}

2.3,propertyNames

实际是用来描述properties中key的信息,可用正则匹配进行限制描述。

"properties": {
   "name_123": {
   "type": "string","propertyNames":"^[A-Za-z_][A-Za-z0-9_]*$"}

以上采用了key的名称进行限制,必须以字母开头,且以"_"链接字母或字符的形式,否则将不符合规范。

2.4,required

required是用来描述json中必须存在哪些key。

data= {
   
  "type": "object",
  "properties": {
   
    "name": {
   "type": "string"},
    "age": {
   "type": "number"},
    "gender": {
   "type": "string"}
    }"required": ["name"]   # 要求检测d的json数据必须包含name这个key
  }

2.5,enum

enum枚举值限制,意思是json数据某个key的value值,只能是以下这几个枚举里的值。

"name": {
   "type": "string","enum"
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值