0

我在使用通过相对 URL 引用子架构的父架构时遇到问题。

这是我的父架构:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "The parent schema.",
  "type": "object",
  "properties": {
    "parentProp1": { "type": "string"},
    "parentProp2": { "$ref": "child.json#"}
  }
}

这是我的子架构:

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "The parent schema.",
  "type": "object",
  "properties": {
    "childProp1": { "type": "number" }
  }
}

这是我的数据:

{
  "parentProp1": "one",
  "parentProp2": {
    "childProp1": 1
  }
}

这是我得到的错误ajv-cli

$ ajv -s parent.json -d parent-test.json

架构 parent.json 无效

错误:无法从 id 解析引用 child.json#

我在其他 3 个验证器中遇到了类似的错误(child.json无法解决),这表明我的架构不正确。

我究竟做错了什么?

4

1 回答 1

1

您是否将子架构作为依赖项传递?大多数验证器不会自动加载模式,需要明确告知每个模式。有一种方法可以用 ajv-cli 做到这一点,尽管它的语法目前让我无法理解。可以肯定的是,如果你让它打印它会告诉你的命令的帮助。

于 2018-01-11T17:26:58.790 回答