【发布时间】:2016-11-03 19:44:25
【问题描述】:
我有以下类型数组的 Json 属性,其中包含对象类型的项目;它对应于一个场景,当您有一个或多个驱动程序时,存在一个且只有一个主要驱动程序和零个或任意数量的非主要驱动程序:
{
"driver": [
{
"driverId": 12839,
"isPrimary": true
},
{
"driverId": 23843,
"isPrimary": false
}
],
}
"driver" 属性只有在满足以下所有要求时才有效:
-
每个项目的
driverId应该是唯一的。 - 只允许一项有
"isPrimary": true - 必须有一个且只有一个带有
"isPrimary": true的项目;"isPrimary": false可以有零个或任意数量的项目
现在我正在寻找实现上述要求的 Json Schema;以下是有效的"driver" 示例:
1.
{
"driver": [
{
"driverId": 12839,
"isPrimary": true
}
]
}
2.
{
"driver": [
{
"driverId": 12812,
"isPrimary": true
},
{
"driverId": 38849,
"isPrimary": false
},
{
"driverId": 34323,
"isPrimary": false
}
]
}
以下示例将无法通过验证:
1.
{
"driver": [
{
"driverId": 12839,
"isPrimary": false
}
]
}
2.
{
"driver": [
{
"driverId": 12839,
"isPrimary": false
},
{
"driverId": 34564,
"isPrimary": false
}
]
}
3.
{
"driver": [
]
}
【问题讨论】:
标签: json validation jsonschema