微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

验证python中json模式中的未知属性名称

如何解决验证python中json模式中的未知属性名称

schema = { "type" : "object","properties" : 
                   { "price" : {"type" : "array","items" : { "type" : "string","pattern": "^[A-Za-z0-9_]*$" }},},}

from jsonschema import validate
validate(instance={"price" : ["test","34"]},schema=schema)

以上代码验证了属性 price 包含不带间隔的字符串数组项。 即使我们不知道传入的属性名称,也可以验证该属性吗?

可能如下所示

schema = { "type" : "object","properties" : 
                   {  "type" : "array","pattern": "^[A-Za-z0-9_]*$" },schema=schema)
validate(instance={"marks" : ["test",schema=schema)

解决方法

是的,您可以使用additionalProperties提供一个通用模式,无论属性名称是什么,所有对象都必须通过该模式。

您还可以使用模式来约束属性名称-请参见https://json-schema.org/understanding-json-schema/reference/object.html上的“ patternProperties”。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。