在以下情况下,从不同设备到处理单元的传入消息将根据消息类型处理消息。
带有以下hobbies
模式定义的消息,例如schema-hobbies
JSchema hobbiesSchema = JSchema.Parse(@"{
'type': 'object',
'properties': {
'name': {'type':'string'},
'hobbies': {
'type': 'array',
'items': {'type':'string'}
}}}");
带有以下countries
模式定义的消息,例如schema-countries
JSchema countriesSchema = JSchema.Parse(@"{
'type': 'object',
'properties': {
'name': {'type':'string'},
'countries': {
'type': 'array',
'items': {'type':'string'}
}}}");
不遵循以上任何Schema
定义的邮件
现在,我可以按照以下步骤验证hobbies
消息
JObject hobbies = JObject.Parse(@"{
'name': 'James',
'hobbies': ['.NET', 'Blogging', 'Reading', 'Xbox', 'LOLCATS']
}");
IList<string> errorMessages;
bool valid = hobbies.IsValid(hobbiesSchema , out errorMessages);
Console.WriteLine(valid);
我将能够合并架构并验证不同的传入消息。我怎样才能做到这一点?
例如:
如果消息杰森是,
{
'name': 'James',
'hobbies': ['.NET', 'Blogging', 'Reading', 'Xbox', 'LOLCATS']
}
输出应为:True
如果消息杰森是,
{
'name': 'James',
'countries': ['India', 'Australia']
}
输出应为:True
如果消息杰森是,
{
'Time': '03:45 AM',
'heartbeats': ['30', '45']
}
输出应为:False
注意: