【发布时间】:2020-06-09 16:32:41
【问题描述】:
在JSON Schema 草案 7 或 8 中,正确的说法是,我们想要选择其中一个属性,但不能同时选择两者。我可以使用required 关键字进行构造,但是您必须包含任何一个必需的属性。这是我能想到的,对吗?
在此示例中,我试图验证 field_1 是必需的,并且我们需要 field_2、field_3 中的任何一个或都不需要。 (见例子)
{
"$schema": "http://json-schema.org/draft-08/schema#",
"type": "object",
"properties": {
"field_1": {
"type": "string"
},
"field_2": {
"type": "string"
},
"field_3": {
"type": "string"
}
},
"required": [
"field_1"
],
"oneof": [
{
"properties": [
"field_2"
]
},
{
"properties": [
"field_3"
]
}
],
"additionalProperties": false,
"examples": [
{
"field_1": "1",
"field_2": "2"
},
{
"field_1": "1",
"field_3": "3"
},
{
"field_1": "1"
}
]
}
【问题讨论】:
标签: json validation schema jsonschema