【问题标题】:How to validate JSON Schema according to Draft v4 using JSON.NET Schema or NJSONSchema?如何根据 Draft v4 使用 JSON.NET Schema 或 NJSONSchema 验证 JSON Schema?
【发布时间】:2018-03-27 04:24:50
【问题描述】:

我一直在研究 JSON.NET SchemaNJsonSchema ... 两者似乎都没有任何属性/方法来识别 JSON Schema 是否是有效的 JSON Schema 并且是否符合草案 v4 兼容。

是否只有一个例外可以识别模式是否有效,即使它是无效的,我将如何检查其草案 v4 兼容?

【问题讨论】:

    标签: validation json.net jsonschema njsonschema


    【解决方案1】:

    您可以使用描述 JSON 架构的 JSON 架构并使用它来验证 JSON。

    您可以在此处找到副本 - http://www.jsonschemavalidator.net/api/jsonschemastore/schema?schemaUrl=schema-draft-v4

    string draftV4SchemaJson = @"{}"; // replace with content from http://www.jsonschemavalidator.net/api/jsonschemastore/schema?schemaUrl=schema-draft-v4
    
    JSchema draftV4Schema = JSchema.Parse(draftV4SchemaJson);
    
    JObject yourSchemaJson = JObject.Parse(@"{}"); // your schema
    
    bool valid = yourSchemaJson.IsValid(draftV4Schema);
    

    【讨论】:

    • 是的,我做到了,JSchema schema = JSchema.Parse(schemaJson);会告诉我架构本身只有在发生异常时才无效,是否有另一种方法可以确定架构本身是否存在错误?
    • 我明白了。您可以做的是使用描述 v4 草案的模式验证要作为模式加载的 JSON。我更新了我的答案。
    猜你喜欢
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 2016-07-09
    • 2021-04-18
    • 1970-01-01
    相关资源
    最近更新 更多