jsonschema检查密钥是否存在

时间:2018-10-09 12:57:21

标签: python json jsonschema

我有JSON:

{"price" : 12}

和架构:

schema = {
    "type" : "object",
    "properties" : {
        "price" : {"type" : "number"}
    },
}

它用于验证值validate({"price" : 12}, schema)的类型。 但是,JSON类似于:

{"price_blabla" : 'blabla'}

也被视为有效。我应该如何更改架构,以便它可以检查JSON是否包含特定键?基本上,我有很多JSON,我需要获取所有具有特定模式的

1 个答案:

答案 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