【发布时间】:2014-11-06 17:55:08
【问题描述】:
我正在编写一个 vcxproj 生成器供我个人使用。这个项目的一部分是让我了解 JSON 模式。下面是我定义的模式。 (问题定义在架构之后)。
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"
}
]
}
【问题讨论】:
标签: json validation python-2.7 jsonschema