【问题标题】:Json Schema- Parsing error in Json.NETJson Schema-Json.NET 中的解析错误
【发布时间】:2013-01-29 17:00:12
【问题描述】:

我目前在使用 Json.NET 解析我的 json 架构时遇到问题。我的架构由一个数组组成,其项目可以是两种不同的类型,如下例所述:

"Operations": {
        "type": "array",
        "id": "Operations",
        "required": true,
        "items": {
            "type": [
                {
                    "type": "object",
                    "properties": {
                        "Sale_ID": {
                            "type": "number",
                            "id": "Sale_ID",
                            "required": false
                        },
                  },
                    "additionalProperties": false
                },
                {
                    "type": "object",
                    "properties": {
                        "Purchase_ID": {
                            "type": "number",
                            "id": "Purchase_ID",
                            "required": false
                        },
                  },
                    "additionalProperties": false
                }

此架构已在多个验证器中进行了验证,并且始终成功。我正在尝试将其解析为 JsonSchema:

JsonSchema js = JsonSchema.Parse(schemaAsString);

但是,我收到了JsonReaderException

异常 JSON 模式类型字符串令牌,得到 StartObject

我猜这是因为我的项目类型不是字符串。我想知道是否可以在Json.NET 中定义非字符串类型,或者这是否是一个已知问题/限制。

【问题讨论】:

    标签: json json.net jsonschema


    【解决方案1】:

    Json.NET 不支持 type 属性中的复杂模式。

    更新:

    Json.NET Schema 现在完全支持 Draft 3 和 Draft 4,其中包括对 type 属性中复杂模式的支持。

    【讨论】:

    • 感谢詹姆斯的回答。将来的版本会支持它吗?
    • 不,下一个版本的 JSON 模式规范将用不同的语法替换它。不知道我什么时候会调查。
    • 你好詹姆斯。如果可能的话,我想知道我们什么时候可以更新 JSON.NET 以支持 V4 草案。提前致谢!
    • 我正在开发 v4 阅读器、生成器和验证器草案,请参阅 github.com/rsuter/NJsonSchema(尚未完成)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 2016-05-21
    相关资源
    最近更新 更多