作为合同测试的一部分,我必须验证来自rest端点的json响应,以验证文件中存在的json模式。我正在使用NJsonSchema,无法执行此操作。
文件中的Json-schema如下所示
{
'type': 'object',
'properties': {
'remaining': {
'type': 'integer',
'required': true
},
'shuffled': {
'type': 'boolean',
'required': true
}
'success': {
'type': 'boolean',
'required': true
},
'deck_id': {
'type': 'string',
'required': true
}
}
}我必须验证的Json如下所示
{ 'remaining': 52, 'shuffled': true, 'success': true, 'deck_id': 'b5wr0nr5rvk4'}任何人都可以对如何使用NJsonSchema或Manatee.Json使用jsonschema验证json提供一些信息(举一些例子)。
发布于 2018-11-24 02:24:48
免责声明:我是Manatee.Json的作者。
这看起来像一个草案-03模式( required关键字被移出了草案-04中的属性声明)。我不确定NJsonSchema是否支持那么老的模式;Manatee.Json不支持。
JSON架构目前在草案-07,草案-08即将发布。
我的建议是,通过将required关键字作为properties的同级移动到根中,将模式重写为稍后的草案。required的值成为包含所需属性列表的字符串数组。
{
"type": "object",
"properties": {
"remaining": { "type": "integer" },
"shuffled": { "type": "boolean" },
"success": { "type": "boolean" },
"deck_id": { "type": "string" }
},
"required": [ "remaining", "shuffled", "success", "deck_id" ]
}通过这样做,它肯定会与Manatee.Json一起工作,我希望它也能与NJsonSchema一起工作。
如果您有关于使用Manatee.Json的具体问题,请访问我的Slack工作区。GH自谋中心有个联系。
https://stackoverflow.com/questions/50524325
复制相似问题