requiredJSON Schema中的字段JSON模式的特点properties,required和additionalProperties领域.例如,
{
"type": "object",
"properties": {
"elephant": {"type": "string"},
"giraffe": {"type": "string"},
"polarBear": {"type": "string"}
},
"required": [
"elephant",
"giraffe",
"polarBear"
],
"additionalProperties": false
}
Run Code Online (Sandbox Code Playgroud)
将验证JSON对象,如:
{
"elephant": "Johnny",
"giraffe": "Jimmy",
"polarBear": "George"
}
Run Code Online (Sandbox Code Playgroud)
但如果属性列表不完全, 则会失败elephant, giraffe, polarBear.
我经常将列表复制粘贴properties到列表中required,并且由于拼写错误和其他愚蠢错误而导致列表不匹配时会遇到恼人的错误.
是否有更短的方法来表示所有属性都是必需的,而没有明确命名它们?
San*_*Jay 32
您可以使用"minProperties"属性而不是明确命名所有字段.
{
"type": "object",
"properties": {
"elephant": {"type": "string"},
"giraffe": {"type": "string"},
"polarBear": {"type": "string"}
},
"additionalProperties": false,
"minProperties": 3
}
Run Code Online (Sandbox Code Playgroud)
我怀疑除了在必需的数组中明确命名它们之外,还有一种方法可以指定必需的属性.
但是,如果您经常遇到此问题,我建议您编写一个小脚本,对您的json架构进行后处理,并自动为所有已定义的对象添加所需的数组.
该脚本只需要遍历json-schema树,并且在每个级别,如果找到"properties"关键字,则添加"required"关键字,其中包含属性在同一级别的所有已定义键.
让机器完成钻孔.
| 归档时间: |
|
| 查看次数: |
10068 次 |
| 最近记录: |