JSON Schema是否可以指定一个字符串长度,该长度取决于正在验证的项目中属性的值?
例如,我有一个带有" foo"的文档。物业有价值3.我想确保" bar" property是一个至少为3的字符串
示例JSON
{
"foo": 3,
"bar": "111"
}
JSON架构
{
"properties" : {
"foo": {
"type": "integer",
"minimum": 1
}
"bar": {
"type": "string",
"minLength": "{$foo}"
}
}
}
答案 0 :(得分:2)
有一个v5 proposal for a $data
keyword,它将允许模式使用数据中的值,使用JSON指针或相对JSON指针"
使用您的示例:
{
"properties" : {
"foo": {
"type": "integer",
"minimum": 1
}
"bar": {
"type": "string",
"minLength": { "$data": "1/foo" }
}
}
}
对$data
关键字的支持显然取决于您使用的验证程序。一些验证器确实支持v5提案。