【问题标题】:Validating unknown property name in json schema in python在python中验证json模式中的未知属性名称
【发布时间】:2021-01-28 06:54:55
【问题描述】:
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", 
                      "items" : { "type" : "string" ,  "pattern": "^[A-Za-z0-9_]*$" },
                   }, 
             }

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

【问题讨论】:

    标签: jsonschema python-jsonschema


    【解决方案1】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 2015-11-09
    • 1970-01-01
    • 2020-06-18
    • 2019-09-14
    相关资源
    最近更新 更多