首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在NJsonSchema c#中使用json模式验证json

如何在NJsonSchema c#中使用json模式验证json
EN

Stack Overflow用户
提问于 2018-05-25 08:02:15
回答 1查看 1.8K关注 0票数 1

作为合同测试的一部分,我必须验证来自rest端点的json响应,以验证文件中存在的json模式。我正在使用NJsonSchema,无法执行此操作。

文件中的Json-schema如下所示

代码语言:javascript
复制
{
        '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如下所示

代码语言:javascript
复制
{ 'remaining': 52, 'shuffled': true, 'success': true, 'deck_id': 'b5wr0nr5rvk4'}

任何人都可以对如何使用NJsonSchema或Manatee.Json使用jsonschema验证json提供一些信息(举一些例子)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-24 02:24:48

免责声明:我是Manatee.Json的作者。

这看起来像一个草案-03模式( required关键字被移出了草案-04中的属性声明)。我不确定NJsonSchema是否支持那么老的模式;Manatee.Json不支持。

JSON架构目前在草案-07,草案-08即将发布。

我的建议是,通过将required关键字作为properties的同级移动到根中,将模式重写为稍后的草案。required的值成为包含所需属性列表的字符串数组。

代码语言:javascript
复制
{
  "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自谋中心有个联系。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50524325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档