在定义中引用#不解析inJson.net模式

时间:2016-03-11 22:19:25

标签: json.net jsonschema

我的架构中有一位经理'属性是用户对象:

{
  "id": "foo.com/schemas/user",
  "manager": {
    "anyOf": [{
      "$ref": "#/definitions/user"
    }],
    "title": "Manager"
}

#/ definitions / user架构是:

"definitions": {
  "user": {
    "$ref": "#"
  }
}

在解析架构引用时会导致" 错误##### 39;路径' definitions.user' "错误。

使用" $ ref":"#"来自manager属性不是一个选项,因为我们使用该定义来帮助构建UI并需要一个通用的定义。

编辑:添加" id"财产是一个重要的遗漏。

1 个答案:

答案 0 :(得分:1)

这有效:

{
  "id": "http://foo.com/schemas/user",  
  "properties":{  
    "manager":{  
      "anyOf":[  
        {  
          "$ref":"#/definitions/user"
        }
      ],
      "title":"Manager"
    }
  },
  "definitions":{  
    "user":{  
      "$ref":"#"
    }
  }
}

https://github.com/JamesNK/Newtonsoft.Json.Schema/issues/33

编辑:添加了固定的“id”字段,其中添加了http:// qualified。