尝试使用JSON.NET构建模式,以验证以RGB或CMYK
提供的颜色这应验证:
{
"color": {
"RGB": {
"r": 100,
"g": 100,
"b": 100
}
}
}
这不应该:
{
"color": {
"RGB": {
"r": 100,
"g": 100,
"b": 100
},
"CMYK": {
"c": 5,
"m": 10,
"y": 60,
"k": 30
}
}
}
这是我的架构(下图),并尝试使用min / max Items来执行(我认为)oneOf会做的事情。我没有直接使用“oneOf”的原因是因为似乎没有能力在代码中添加它,这是我需要使用JSON.NET,而不是将模式作为字符串传递。 我希望能够使用JObject.Parse(...)一旦我有工作,我找不到任何与JSON.NET中的oneOf / anyOf相关的文档。 任何指针都非常赞赏
{
"id": "color_spec.json",
"type": "object",
"required" : true,
"properties": {
"color": {
"type": "object",
"required" : true,
"minItems" : 1,
"maxItems" : 1,
"properties":
{
"RGB": {
"type": "object",
"required" : true,
"properties":
{
"r": {
"type": "number",
"required" : true
},
"g": {
"type": "number",
"required" : true
},
"b": {
"type": "number",
"required" : true
}
}
},
"CMYK": {
"type": "object",
"properties":
{
"c": {
"type": "number",
"required" : true
},
"m": {
"type": "number",
"required" : true
},
"y": {
"type": "number",
"required" : true
},
"k": {
"type": "number",
"required" : true
}
}
}
}
}
}
}