我必须构建一个Json模式来格式化应用程序需要发送给另一个的每个消息。
我已经建立了这个:
sed 's/​/ /g' file_1 > file_2
目前,我想根据命令值要求一些属性,例如:
等...
我看到了一些关于此问题的主题,例如JSON Schema - specify field is required based on value of another field,但我无法通过草案v4来适应我的情况。
有什么建议吗?
答案 0 :(得分:0)
找到出路:
{
'description': '[...]',
'definitions': {
'readParameter' : {
'type' : 'object',
'required' : ['command','path'],
'properties' : {
'command' : {
'type' : 'string',
'enum' : ['read']
},
'path' : {
'type' : "string"
}
},
"additionalProperties" : false
},
'writeParameter' : {
'type' : 'object',
'required' : ['command','path', 'value', 'priority'],
'properties' : {
'command' : {
'type' : 'string',
'enum' : ['write']
},
'path' : {
'type' : "string"
},
'value' : {
'type' : "string"
},
'priority' : {
'type' : 'integer',
'maximum' : 255,
'exclusiveMaximum' : false,
'minimum' : 0,
'exclusiveMinimum' : false
}
},
"additionalProperties" : false
},
'listParameter' : {
'type' : 'object',
'required' : ['command'],
'properties' : {
'command' : {
'type' : 'string',
'enum' : ['list']
}
},
"additionalProperties" : false
},
'M2M_message_input' : {
'type' : 'object',
'oneOf': [
{ "$ref": "#/definitions/readParameter" },
{ "$ref": "#/definitions/writeParameter" },
{ "$ref": "#/definitions/listParameter" }
],
}
},
'type': 'object',
'$ref' : '#/definitions/M2M_message_input'
}