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

Validating unknown property name in json schema in python

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)

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

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