最小示例(python 3.x):
_required_fields = {
"id": {
"type": "integer",
"minimum": 1,
},
"name: {
"type": "string"
}
}
_optional_fields = {
"address": {
"type": "string"
}
}
my_schema = {
"type": "object",
"properties": {
**_required_fields ,
**_optional_fields
},
"required": [key for key in _required_fields ],
# "additionalProperties": ???
}
架构应确保所有必填字段都在 JSON 中(工作正常)。它应该将附加属性限制为_optional_fields
字典中的属性。(我被困的地方)。
如果没有可选属性,您只需设置additionalProperties
为False
. 然后是minProperties
andmaxProperties
来限制附加属性的数量。但是如何将这些限制为固定选择?
编辑:
感谢@Relequestual。解决方案非常简单。我设置"additionalProperties": False
了,现在它只接受必填和可选字段,除此之外什么都不接受。