Json Schema- Json.NET中的解析错误

时间:2013-01-29 17:00:12

标签: json json.net jsonschema

我目前在使用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中定义非字符串类型,或者这是否是已知问题/限制。

1 个答案:

答案 0 :(得分:2)

Json.NET不支持type属性中的复杂架构。

<强>更新

Json.NET Schema 现在完全支持草案3和草案4,其中包括对type属性中复杂架构的支持。