作为合同测试的一部分,我必须验证我从rest-endpoint获得的json响应,以及文件中存在的json-schema。我使用的是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。
答案 0 :(得分:1)
免责声明:我是Manatee.Json的作者。
这看起来像一个 draft-03 模式(ex <-matrix(0,nrow=5, ncol= 2200)
colnames(ex) = paste("X",1:ncol(ex),sep="")
vec<- c(1:20)
names(vec) = c( "X13" , "X25", "X58", "X79", "X95" , "X118", "X212", "X311",
"X422" , "X536", "X899", "X1005","X1080" , "X1118", "X1322", "X1516","X1705"
, "X1890", "X1925", "X2008")
关键字已从 draft-04 的属性声明中移出)。我不确定NJsonSchema是否支持旧版本的架构。海牛,杰森没有。
JSON模式当前位于 draft-07 ,而 draft-08 即将发布。
我的建议是通过将required
关键字作为required
的同级元素移入根目录,以将架构重写为以后的草案。 properties
的值成为包含所需属性列表的字符串数组。
required
这样做,肯定可以与Manatee.Json一起使用,而且我期望也可以与NJsonSchema一起使用。
如果您有关于使用Manatee.Json的特定问题,请在我的Slack工作区打我。 GH自述文件上有一个链接。