如何在 NJsonSchema c# 中使用 json 模式验证 json
How to validate json with json schema in NJsonSchema c#
作为合同测试的一部分,我必须根据文件中存在的 json-schema 来验证我从 rest-endpoint 获得的 json 响应。我正在使用 NJsonSchema 并且无法执行此操作。
Json-文件中的架构如下
{
'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。
Disclaimer: I'm the author of Manatee.Json.
看起来像 draft-03 模式(required
关键字已从 draft- 中的 属性 声明中移出04)。我不确定 NJsonSchema 是否支持那么旧的模式; Manatee.Json 没有。
JSON 架构目前在 draft-07,draft-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 自述文件中有 link。
作为合同测试的一部分,我必须根据文件中存在的 json-schema 来验证我从 rest-endpoint 获得的 json 响应。我正在使用 NJsonSchema 并且无法执行此操作。
Json-文件中的架构如下
{
'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。
Disclaimer: I'm the author of Manatee.Json.
看起来像 draft-03 模式(required
关键字已从 draft- 中的 属性 声明中移出04)。我不确定 NJsonSchema 是否支持那么旧的模式; Manatee.Json 没有。
JSON 架构目前在 draft-07,draft-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 自述文件中有 link。