我有JSON:
{"price" : 12}
和架构:
schema = {
"type" : "object",
"properties" : {
"price" : {"type" : "number"}
},
}
它用于验证值validate({"price" : 12}, schema)
的类型。
但是,JSON类似于:
{"price_blabla" : 'blabla'}
也被视为有效。我应该如何更改架构,以便它可以检查JSON是否包含特定键?基本上,我有很多JSON,我需要获取所有具有特定模式的
。答案 0 :(得分:1)
在jsonschema中,有一个名为'required'
的属性,使用此字段
我们可以检查JSON是否包含特定的键。
缺少必填字段属性会使JSON文档无效。
示例:
schema = {
"type" : "object",
"properties" : {
"price" : {"type" : "number"}
},"required": ["price"]
}
validate({"price_blabla" : 'blabla'}, schema)
这将引发以下错误。
jsonschema.exceptions.ValidationError: 'price' is a required property
参考:
https://json-schema.org/understanding-json-schema/reference/object.html#required