当前位置:  开发笔记 > 编程语言 > 正文

JSON模式中的多值枚举?

如何解决《JSON模式中的多值枚举?》经验,为你挑选了1个好方法。

我有一个包含字符串的数组,例如:

[ 'foo', 'bar' ]

可能的值是有限的。例如,有效值为foobarbaz

现在,当数组仅包含有效值,且不超过一个值,但可以具有任意数量的值时,该数组即为有效。

为有效数组的例子是[ 'foo' ][ 'foo', 'bar' ][ 'bar', 'baz' ]。无效阵列的例子是[][ 'foo', 'foo' ][ 'bar', 'something-else' ]

如何使用JSON模式进行验证?到目前为止,我已经弄清楚了array提供minItemsuniqueItems属性的类型。我还不能弄清楚的是:如何允许多个(但仅有效)值?我知道有enum,但这仅允许一个值,而不允许多个值。

有人可以帮忙吗?

PS:以防万一,我正在使用带有Node.js 的ajv模块来运行验证。



1> Ben Schenker..:

更清楚地说明解决方案:

{
  "type": "array",
  "items": {
    "type": "string",
    "enum": [ "foo", "bar", "baz" ]
  },
  "uniqueItems": true,
  "minItems": 1
}

参见:https : //spacetelescope.github.io/understanding-json-schema/reference/array.html

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有