我有一個簡單的 JSON 模式,看起來像這樣(并且有效)
{
"cols": {
"type": "array",
"items": {
"type": "string",
"enum": [
"id",
"name",
"age",
"affiliation",
""
]
},
"additionalProperties": false
}
}
我希望enum成為上面規定的值 裝飾,以便允許以下任何一項
"enum" = [
"id",
"lower(name)",
"average(age)",
"distinct(affiliation)",
""
]
換句話說,對于cols
cols=id將是有效的,但周圍不允許進一步裝飾idcols=name并且cols=lower(name)是有效的cols=age并且cols=average(age)是有效的cols=affiliation并且cols=distinct(affiliation)是有效的cols=''空字串將是有效的
將裝飾指定為模式會很好,這樣它們就不區分大小寫了。例如,cols=lower(name)兩者cols=LOWER(name)都可以。
uj5u.com熱心網友回復:
您可以將列舉串列更改enum為模式串列:
"items": [
"type": "string",
"anyOf": [
{ "pattern": "^cols\b...the rest of your pattern here...$" },
{ etc... }
]
]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/435518.html
標籤:数组 验证 jsonschema
上一篇:用于狀態檢查的序列化程式
