JSON 模式中有效值的动态列表

Dynamic list of valid values in JSON Schema

鉴于以下 JSON,我如何使用 JSON 架构来验证 nodes[].targets 中的每个字符串是否与列出的节点的名称相匹配?

{
    "nodes": [
        {"name": "app_server"},
        {"name": "web_server1"}
        {"name": "web_server2"}
        {
            "name": "load_balancer",
            "targets": ["web_server1", "web_server2"]
        }
    ]
}

JSON 架构不支持此类验证标准。

如果验证器支持自定义关键字(例如在 Ajv 中),您需要定义自定义关键字,或者在模式之外进行验证。

免责声明:我创建了 Ajv。