代码之家  ›  专栏  ›  技术社区  ›  Harsha Biyani Amit

required和additionalProperties对于jsonschema模块Python不起作用

  •  0
  • Harsha Biyani Amit  · 技术社区  · 7 年前

    我有以下代码:

    from jsonschema import validate
    schema_data = {
        "type" : "object",
        "properties" : {
            "price" : {"type" : "number"},
            "name" : {"type" : "string"},
            "additional" : {"type" : "number"},
            },
        "required": ["price", "name", "additional"],
        "additionalProperties": False
    }
    
    json_data = {"name" : "Eggs", "price" : 34.99, "new": 90}
    

    这应该给我一个错误 required additionalProperties 作为 additional json_data new 中不存在 schema_data . .

    我需要一些额外的安装吗?我有以下配置:

    Python 2.7.12,
    jsonschema==3.0.1
    attrs==19.1.0
    six==1.12.0
    pyrsistent==0.14.11
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Sachin Patel    7 年前

    您需要运行下面的命令来获取错误

    validate(json_data, schema_data)
    

    所以首先你会得到一个错误

    'additional' is a required property
    

    修复后,您将得到错误

    Additional properties are not allowed ('new' was unexpected)