【问题标题】:Writing JSON schema for objects generated on values for a key in the JSON为 JSON 中键的值生成的对象编写 JSON 模式
【发布时间】:2018-08-27 15:15:49
【问题描述】:

我正在尝试编写一个 JSON 模式来验证以下 JSON:

{
    "pour": [{
        "pourID": 814,
        "PourName": "A vs B"
    }
    .
    .
    .,
    {
        "pourID": 414,
        "PourName": "C vs D"
    }],
    "pourTime":{
        "814":{
            "attribute": "value",
            "attribute2": "value2"
        },
        .
        .
        .,
        "414":{
            "attribute": "value",
            "attribute2": "value2"
        }
    }
}

pour 数组中可以有 n 个对象,并且在 pourTime 对象下可以有一个与每个 pourID 关联的对象。

我已经尝试阅读与 JSON Schema 中的动态值相关的内容,但是,它似乎希望我声明一个枚举,这在我的情况下是不可能的,因为 pourID 是根据条目动态生成的,是由添加的数据库客户

【问题讨论】:

    标签: json jsonschema json-schema-validator


    【解决方案1】:

    抱歉,您的数据结构无法做到这一点。 JSON Schema 不能引用除正在验证的数据值之外的数据值。这意味着“pourTime”对象不能使用“pour”数组的值来进行验证。如果您可以控制数据结构,我建议您更改它。

    【讨论】:

    • 谢谢。这是 JSON Schema 实现的缺失功能还是我的 JSON 结构不符合 JSON 的 RFC?
    • 这是一个关于“$data”关键字使用参考的持续讨论 - 如果我没记错的话,目前计划在草案 08 或更高版本进行审查。
    猜你喜欢
    • 1970-01-01
    • 2012-06-04
    • 2020-08-11
    • 2018-05-21
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多