Gol*_*den 2 arrays validation json jsonschema
我有一个包含字符串的数组,例如:
[ 'foo', 'bar' ]
Run Code Online (Sandbox Code Playgroud)
可能的值是有限的。例如,有效值为foo,bar和baz。
现在,当数组仅包含有效值,且不超过一个值,但可以具有任意数量的值时,该数组即为有效。
为有效数组的例子是[ 'foo' ],[ 'foo', 'bar' ]和[ 'bar', 'baz' ]。无效阵列的例子是[],[ 'foo', 'foo' ]和[ 'bar', 'something-else' ]。
如何使用JSON模式进行验证?到目前为止,我已经弄清楚了array提供minItems和uniqueItems属性的类型。我还不能弄清楚的是:如何允许多个(但仅有效)值?我知道有enum,但这仅允许一个值,而不允许多个值。
有人可以帮忙吗?
PS:以防万一,我正在使用带有Node.js 的ajv模块来运行验证。
更清楚地说明解决方案:
{
"type": "array",
"items": {
"type": "string",
"enum": [ "foo", "bar", "baz" ]
},
"uniqueItems": true,
"minItems": 1
}
Run Code Online (Sandbox Code Playgroud)
参见:https : //spacetelescope.github.io/understanding-json-schema/reference/array.html
好吧,我自己搞定了\xe2\x80\xa6
\n\n您还需要提供items属性,然后为每个项目定义它需要的属性type: 'string'及其值enum: [ 'foo', 'bar', 'baz' ]。
通过这种方式,您可以确保每个单独的项目都是具有有效值的字符串,然后对整个数组 \xe2\x98\xba\xef\xb8\x8f 强制执行此操作
\n| 归档时间: |
|
| 查看次数: |
2060 次 |
| 最近记录: |