我想创建一个文档的JSON模式,其中某些对象中的字段值应该针对同一文档中另一个对象中定义的枚举进行验证。Json模式验证对象的值与另一个对象的内容
更具体地说,在下面的例子中,我希望能够用id
和values
(我应该能够在不同的json文件中定义不同的属性)定义“属性”。 然后,“对象”应该能够引用这些属性,以便object.properties[i].id
必须与其中一个属性的id匹配,并且object.properties[i].value
必须与为该属性定义的某个枚举值匹配。
{
"properties": [
{
"id": "SIZE",
"values": ["small", "medium", "big"]
},
{
"id": "MATERIAL",
"values": ["wood", "glass", "steel", "plastic"]
},
{
"id": "COLOR",
"values": ["red", "green", "blue"]
}
],
"objects": [
{
"name": "chair",
"properties": [
{
"id": "SIZE",
"value": "small"
},
{
"id": "COLOR",
"value": "red"
}
],
},
{
"name": "table",
"properties": [
{
"id": "MATERIAL",
"value": "wood"
}
]
}
]
}
我试图创建JSON架构验证这样的结构,但卡住了与描述为“属性”对象的内场参考。我也查看了standard,并没有找到实现目标的方法。
是否有可能创建一个json模式来验证我的json文件?
谢谢,尤其是!这是否意味着使用json schema v4是不可能的? 很高兴认识某人正在努力! – Mikhail
正确,不适用于v4 – esp
实际上,即使使用$ data,也只有部分可能,如果降低间接级别。我将编辑。 – esp