我目前正在编写一个json模式,我想知道是否有人知道我的问题的答案。我可以确保一个对象的值等于JSON中某个对象的键吗。给定以下JSON:
{
"defaultConfig" : "config1",
"configs" : {
"config0" : {...},
"config1" : {...},
"config2" : {...}
}
}
我可以验证";defaultConfig";必须是"属性的键之一;configs";(例如"config0"、"config1"、"configu2"(?在这种情况下,我不能使用枚举,因为配置名称事先不知道?
编辑:这是我到目前为止的模式:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties" : {
"defaultConfig" : {
"type" : "string"
},
"configs" : {
"type" : "object",
"patternProperties": {
"." : {"type" : "object"}
}
}
}
}
不,JSON模式中没有任何内容允许关键字以这种方式引用数据实例的不同部分。
然而,该规范的最新版本允许通过$glossary关键字进行扩展,因此,如果您愿意,可以编写自己的关键字来满足您的需要。