How to refer a root schema of another schema.json file?

时间:2019-05-01 07:24:01

标签: java json validation

I am using this验证程序的导航链接来检查是否json-input是正确的。 目前,我正在尝试创建以下json模式,该模式将描述父亲和儿子之间的关系。因此,我有2个文件存储在同一文件夹(Parent.jsonSon.json)中,其内容为:

Parent.json

{
  "$id": "D:\\Java_projects\\JsonValidationTraining\\src\\main\\res\\json\\Parent.json",
  "type": "object",
  "title": "Parent",
  "properties": {
    "name" : {
      "$ref": "#/definitions/name"
    },
    "son" : {"$ref": "Son.json"}
  },
  "definitions": {
    "name" : {
      "type": "string",
      "minLength": 1
    }
  },
  "required": ["name"]
}

Son.json

{
  "$id": "D:\\Java_projects\\JsonValidationTraining\\src\\main\\res\\json\\Son.json",
  "type": "object",
  "title": "Son",
  "properties": {
    "name" : {
      "$ref": "#/definitions/name"
    },
    "age" : {"$ref": "#/definitions/age"}
  },
  "definitions": {
    "name" : {
      "type": "string",
      "minLength": 1
    },
    "age" : {
      "type": "integer",
      "minimum" : 0
    }
  }
}

问题是从Son.json引用Parent.json根方案。 当我尝试使用上述示例验证输入时,我得到了一个惊喜

  • java.io.UncheckedIOException: java.net.MalformedURLException: no protocol: Son.json

。同时,我成功引用了Son.json模式中的定义,例如Son.json#/definitions/name 我阅读了validator specificationthisthisthis文章,但仍然无法正确引用任何其他*.json根架构。 您能否建议如何正确创建参考?预先谢谢你

0 个答案:

没有答案