如果这个问题已经得到答复,请告诉我。我正在尝试创建一个JSON模式文件,遵循在json-schema.org上找到的规范。总的来说,一切都很好,除了一个问题。
我有一个数组,它可以包含字符串,也可以包含字符串数组。每个字符串都是未命名的,这意味着它没有一个键:值对。
我使用目前为止的模式和我正在使用的示例JSON文件创建了一个JSON Schema Validator paste。
然而,如果你不能检查上面的链接,这里有一个快速的例子来说明我的意思。我有一个名为 ArgumentList 的键,它是一个数组。它包含字符串,并且可以选择包含字符串数组:
"ArgumentList": [
"--profile-directory=Default",
"--new-window",
[
"https://mail.google.com/",
"https://calendar.google.com/",
"https://docs.google.com/"
]
]
字符串
对于我的模式,这是我如何表示上面的内容:
"ArgumentList": {
"type": "array",
"items": {
"type": "string"
}
}
型
当然,这个模式规范没有考虑字符串数组。我试着在谷歌上搜索解决方案,但我不能解决这个问题。我还尝试了以下几点:
"ArgumentList": {
"type": "array",
"items": {
"type": "string",
"type": "array"
}
}
型
但那根本不管用。相反,它导致在验证我的JSON文件时出错。JSON Schema是否允许这种类型的设置?如果是这样,我该如何证明呢?
提前感谢!
1条答案
按热度按时间i5desfxk1#
您可以使用
anyOf
关键字来Assert您的项可以是一个或另一个。anyOf
是模式上的布尔OR(||
)运算。字符串