如何根据运行时 JSON 对象引用进行验证?

How to validate against runtime JSON object reference?

示例 JSON 数据如下所示 -

{
    "children":{
        "Alice":{...},
        "Jamie":{...},
        "Bob":{...}
        // Any new child with a given unique name will be added to this object
    },
    childrenOrder:["Alice", "Bob", "Jamie"]
}

在相应的 JSON 架构中,我试图将 "childrenOrder" 数组中的有效值限制为来自 运行 时间子键。 我没有在官方 JSON 模式文档 (http://json-schema.org/documentation.html) 中看到任何引用 运行 时间动态值的方法。

目前这甚至可能吗? 为了简洁起见,我省略了 JSON 模式代码。如果人们认为需要解决这个问题,我可以添加它。

提前致谢。

不,不可能使用当前的 JSON 架构规范。但是,有一个关于 JSON 架构的下一版本的提议可能会改变这一点。

https://github.com/json-schema/json-schema/wiki/%24data-(v5-proposal)