在定义对象内定义的子模式可以引用另一个子模式吗?

时间:2019-04-29 09:33:08

标签: json jsonschema

答案可能很明显,甚至都不值得一提,但我找不到任何明确的信息。模式的定义(在JSON模式的“ definitions”内部定义)可以引用另一个定义吗?

我还没有运行我的代码,因为我仍在编写模式,并且我不想弄乱它。这是我要执行的操作的示例:

"definitions": {
    "apple": {
        "description": "a type of fruit",
        "edible": "boolean"
    },
    "fruit": {
        "description": "a type of food",
        "edible": "boolean",
        "items": {
           "$ref": "#definitions/apple"
        }
    }
}

1 个答案:

答案 0 :(得分:1)

这很有趣!

从定义内引用到另一个定义是有效的。

如果您的引用位于items下,而不是“ examples”,那么这将是有效的,因为“ items”的值必须是一个架构,而“ examples”的值未定义为模式。 (“示例”必须为FYI数组。)