从 json 架构中获取必填字段

get required fields from json schema

我正在尝试根据模式测试很多 json 文档,并且我使用一个包含所有必需字段名称的对象来保持每个文档有多少错误。

在任何 python 库中是否有一个函数可以创建一个带有布尔值的示例对象,以确定是否需要特定字段。 IE。 来自这个架构:

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "type": {
            "type": "string"
        },
        "position": {
            "type": "array"
        },
        "content": {
            "type": "object"
        }
    },
    "additionalProperties": false,
    "required": [
        "type",
        "content"
    ]
}

我需要这样的东西:

{
  "type" : True,
  "position" : False,
  "content" : True
}

我也需要它来支持对定义的引用

我不知道有哪个库可以执行此操作,但这个简单的函数使用字典理解来获得所需的结果。

def required_dict(schema):
    return {
        key: key in schema['required']
        for key in schema['properties']
    }

print(required_dict(schema))

您提供的架构的示例输出

{'content': True, 'position': False, 'type': True}

编辑:link to repl.it example