py3笔记8:json结构的校验

py3笔记8:json结构的校验,第1张

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类型

数组属性array,用于有序元素

在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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8182061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存