在定义中引用 # 不解析 inJson.net 模式
Refs to # in a definition don't parse inJson.net schema
我有一个具有 'manager' 属性 的模式,它是一个用户对象:
{
"id": "foo.com/schemas/user",
"manager": {
"anyOf": [{
"$ref": "#/definitions/user"
}],
"title": "Manager"
}
#/definitions/user 架构是:
"definitions": {
"user": {
"$ref": "#"
}
}
这会导致“解析架构引用 '#' 时出错。路径 'definitions.user'”错误。
使用经理 属性 的 "$ref": "#" 称呼用户不是一个选项,因为我们正在使用该定义来帮助构建 UI 并且需要一个通用定义.
编辑:添加了 "id" 属性,这是一个重要的遗漏。
这个有效:
{
"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:// 限定。
我有一个具有 'manager' 属性 的模式,它是一个用户对象:
{
"id": "foo.com/schemas/user",
"manager": {
"anyOf": [{
"$ref": "#/definitions/user"
}],
"title": "Manager"
}
#/definitions/user 架构是:
"definitions": {
"user": {
"$ref": "#"
}
}
这会导致“解析架构引用 '#' 时出错。路径 'definitions.user'”错误。
使用经理 属性 的 "$ref": "#" 称呼用户不是一个选项,因为我们正在使用该定义来帮助构建 UI 并且需要一个通用定义.
编辑:添加了 "id" 属性,这是一个重要的遗漏。
这个有效:
{
"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:// 限定。