JSONSchema验证数组项
我在JSON数组中接收以下项目JSONSchema验证数组项,json,jsonschema,Json,Jsonschema,我在JSON数组中接收以下项目 {locations: [{locId: "1", locName: "ST1"}, {locId: "2", locName: "ST2"}, {locId: "3", locName: "ST3"}]} 我的要求是在位置内locName的值必须是ST1、ST2或ST3(我不关心locId)。我如何在JSONSchema中实施这一点。我看到您可以使用数组,但如何指定数组的对象\项应具有特定属性的预定义值之一。您可以使用关键字限制给定属性的允许值: "locNa
{locations: [{locId: "1", locName: "ST1"}, {locId: "2", locName: "ST2"}, {locId: "3", locName: "ST3"}]}
我的要求是在位置
内locName
的值必须是ST1
、ST2
或ST3
(我不关心locId
)。我如何在JSONSchema中实施这一点。我看到您可以使用数组
,但如何指定数组的对象\项应具有特定属性的预定义值之一。您可以使用关键字限制给定属性的允许值:
"locName": {
"type": "string",
"enum": ["ST1", "ST2", "ST3"]
}
完整架构:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"locations": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"locId": {
"type": "string"
},
"locName": {
"type": "string",
"enum": ["ST1", "ST2", "ST3"]
}
},
"required": [
"locId",
"locName"
]
},
]
}
},
"required": [
"locations"
]
}