1
我正在爲我自己的個人使用寫一個vcxproj生成器。這個項目的一部分是讓我瞭解JSON模式。以下是我定義的模式。 (在模式之後定義的問題)。模式內的JSON對象內的JSON定義不服從枚舉:Python jsonvalidation
self._schema = {
'definitions': {
...
'project_settings': {
'required': ['configuration', 'platform'],
'type': 'object',
'properties': {
'platform': {
'enum': ['x86_64', 'Win32']
},
'connfiguration': {
'enum': ['Release', 'Debug']
},
...
}
}
},
# Start of actual requirements
'type': 'object',
'properties': {
'project_configurations': {
'type': 'array',
'minItems': 1,
'items': {
'allOf': [{'#ref': 'definitions/project_settings'}]
}
}
},
'additionalProperties': False,
'required': ['project_configurations'],
}
我的問題存在於#definitions/project_settings/configuration
和#definitions/project_settings/platform
。如果我提供以下JSON來驗證python的jsonschema.validate
它被認爲是有效的,當我認爲枚舉應該失敗。
{
"project_configurations": [
{
"configuration": "taoshwu",
"platform": "esostat"
}
]
}