python中使用json模块实现python对象与json的转换
要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据
Json Schema 是一个用于验证Json数据结构的强大工具
使用范围: 接口测试中数据值校验、数据类型校验、json数据结构校验
官网: https://json-schema.org/understanding-json-schema/conventions.html
安装睁帆搏: pip install jsonschema
type 关键字是json模式的基础,指定架轿贺构的数据类型:string、number、object、array、boolean、null
object关键字,在python中对应的是dict类型
在python中,array类似于list或tuple
在Json,通常有2种方式验证
1. 列表验证: 任意长度的序列,其中每个元素匹配相同的模式
2. 元组验证: 一个固定长度的序列,其中每个项目可能具有不同的模式
1. 列表验证
2. 元组验证
针对每一个元素解释说明,默认校验schema中设置的前n项
将items关键字设置成一个数组, 其中每个项目都是一个与文档数组的每个索引相对应的模式,
也就是一个数组, 第一个元素模式验证输入数组的第一个元素. 第二个元素模式验证输入数组的第二个元素
例如, 在以下的模式, anyOf关键字用于表示给定值可能对任何给定的子模式有效。第一个子模式需要一个最悉祥大长度为5的字符串。第二个子模式需要一个最小值为0的数字。只要一个值对这些模式中的任何一个进行验证,它就被认为整个组合模式有效。
{ ‘anyOf’: [ {‘type’: ‘string’, ‘maxLength’: 5}, {‘type’:’string’, ‘minimum’: 0 }]}
用于组合模式的关键字是:
该$schema关键字用于声明JSON片段实际上是JSON模式的一部分。它还声明了针对该模式编写的JSON Schema标准的哪个版本。
建议所有JSON模式都有一个$schema条目,该条目必须位于根目录下。因此,大多数情况下,您需要在架构的根目录下:
jsonschema用来标记和校验答塌json数据,可在自动化测试中验证json的整体结构和字段类型
最外层字段
object
string
number
array
通用
内部引用正态
其中,聚合关键字allOf,anyOf,oneOf,not
需校验的json数据:
整个json结构可描述为,整体为object类型,包含code,message,data四个属性,其中data为object类型,其中data1为array数组类型举举源,code和message为字符串类型,使用jsonschema描述,如下:
参考文档:
自动化接口响应断言神器---Json Schema
使用JSONSchema断言
python接口自动化34-json校验神器jsonschema
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)