gpt4 book ai didi

arrays - JSON 模式中的多值枚举?

转载 作者:行者123 更新时间:2023-12-01 22:20:52 26 4
gpt4 key购买 nike

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

[ 'foo', 'bar' ]

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

现在,当数组仅包含有效值时,该数组将是有效的,并且值不会超过一次,但它可以包含任意数量的值。

有效数组的示例为 [ 'foo' ][ 'foo', 'bar' ][ 'bar', 'baz ']。无效数组的示例为 [][ 'foo', 'foo' ][ 'bar', 'something-else' ].

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

有人可以帮忙吗?

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

最佳答案

更清楚地阐明解决方案:

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

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

关于arrays - JSON 模式中的多值枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41736770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com