允许JSON模式(不同文件)之间的循环引用吗?

时间:2015-09-24 18:10:01

标签: json visual-studio-2013 circular-dependency jsonschema

我有两个相互链接的JSON模式: schema.task.json schema.dependency.json

//file: schema.task.json
{
    "$schema": "http://json-schema.org/draft-04/schema",
    "type": "object",
    "properties": {
        "Dependencies": { "type": "array", "items": { "$ref": "schema.dependency.json#" } },
        "TaskName": { "type": "string" }
    }
}

//file: schema.dependency.json
{
    "$schema": "http://json-schema.org/draft-04/schema",
    "type": "object",
    "properties": {
        "StartAfterTask": { "$ref": "schema.task.json" },
        "DependencyName": {"type": "string"}
    }

}

当我尝试编辑使用我的Task模式的json时,我在visual studio的输出窗口中看到错误:

  

加载架构时出错...... \ Visual Studio 2013 \ Projects \ ConsoleApplication2 \ ConsoleApplication2 \ schema.dependency.json

     
    

值不能为空。参数名称:uriString

  

如果我在一个文件中(在定义部分中)进行循环引用,它可以正常工作。

我使用Visual Studio 2013,Update 5,使用架构http://json-schema.org/draft-04/schema

有没有人知道使用跨文件循环依赖创建JSON模式的正确方法?

1 个答案:

答案 0 :(得分:0)

是的,这是允许的 - 两个不同文件之间的引用与文件中的引用没有区别。

您发布的语法看起来是正确的 - 您是否尝试使用您正在使用的库提出问题?