这是我的JSON模式文件
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "BootNotificationResponse",
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"Accepted",
"Pending",
"Rejected"
]
},
"currentTime": {
"type": "string",
"format": "date-time"
},
"interval": {
"type": "number"
}
},
"additionalProperties": false,
"required": [
"status",
"currentTime",
"interval"
]
}
我尝试了代码
string file = File.ReadAllText(@"../../json/BootNotificationResponse.json");
Console.WriteLine(file);
JsonSchema.Parse(file);
文件点JSON模式位置。
有例外。
System.ArgumentException: Can not convert Array to Boolean.
我遵循了示例代码网站newtonsoft。
如何解决此错误?
请评论
谢谢。
使用newtonsoft的在线模式验证器,您会看到"从对象,状态,当前时间,间隔中缺少所需的属性"。您将需要从模式中删除以下内容,以使其可用于此实现。
"required": [
"status",
"currentTime",
"interval"
]
或如果要修复它,则需要更新JSON模式以包括
之类的定义 {
'$schema': 'http://json-schema.org/draft-04/schema#',
'title': 'BootNotificationResponse',
'definitions': {
'BootNotificationResponse': {
'type': 'object',
'properties': {
'status': {
'type': 'string',
'enum': [
'Accepted',
'Pending',
'Rejected'
]
},
'currentTime': {
'type': 'string',
'format': 'date-time'
},
'interval': {
'type': 'number'
}
},
'additionalProperties': false,
'required': [
'status',
'currentTime',
'interval'
]
}
}
}