Jef*_* U. 15 validation json jsonschema
我有一个json模式,它描述了一个相当复杂的API查询语法.一些属性是模式匹配的,但也需要接受除模式之外的其他值(即其他显式字符串).我似乎无法在众多的json架构网站中找到任何这样的例子.
一个例子:
{
"type": "object",
"properties": {
"$gte": {
"type": "string",
"pattern": "<some-pattern>"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我希望在上面的示例中能够做的是指定$gte
可以是任何一组约束值.例如,此特定实现要求将"$ gte"的值约束为以下值之一:
{token}
在服务器端使用特殊值替换的令牌我已经看到oneOf
在这种情况下使用的format
属性,但只有属性,所以我假设这是可能的,只是不确定如何实现它的语法,例如它可能是这样的:
{
"type": "object",
"properties": {
"$gte": {
"type": "string",
"oneOf": [
{"pattern": "<some-pattern>"},
"{token}",
"{another_token}"
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何关于如何实现这一点的清晰度都将非常受欢迎,因为我对json模式的规范草案4或找到任何示例都没有太多运气.
clo*_*eet 36
如果您希望数据是固定的精确值集之一,您可以使用enum
:
{
"type": "string",
"enum": ["stop", "go"]
}
Run Code Online (Sandbox Code Playgroud)
因此,要在您的示例中使用此功能,请尝试:
{
"type": "object",
"properties": {
"$gte": {
"type": "string",
"oneOf": [
{"pattern": "<some-pattern>"},
{"enum": ["TOKEN", "ANOTHER_TOKEN"]}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14276 次 |
最近记录: |