验证 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”。
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”。