kel*_*yfj 4 json jsonschema json-schema-validator
我的架构中有两个字段-一个是称为“ name”的必需属性,另一个是名为“ nameSort”的可选属性(用于定义排序属性),我想表达
如果定义了“ nameSort”字段,则“名称”字段也应定义为相同的值。
是否可以用JSON模式表达这样的“元素间”约束?我在http://json-schema.org/latest/json-schema-validation.html上对JSON Schema的粗读显示拒绝。
这是个老问题,但是现在可以通过结合使用constant和$data(JSON指针或相对JSON指针)关键字在json模式v5 / v6中完成。
例:
"properties": {
"password": { "type": "string" },
"password_confirmation": { "const": { "$data": "1/password" } }
}
Run Code Online (Sandbox Code Playgroud)
"1/password"相对的JSON指针在哪里说“向上一级,然后查找密钥密码”。
您可以表达一个属性必须在另一个属性存在时定义,例如:
{
"type": "object",
"dependencies": {
"nameSort": ["name"]
}
}
Run Code Online (Sandbox Code Playgroud)
但是,您不能指定两个属性必须具有相等的值。
另外,如果它总是平等的,为什么你有一个单独的财产?如果它总是相等,你能不能只用一个布尔标志来减少冗余?
| 归档时间: |
|
| 查看次数: |
2139 次 |
| 最近记录: |