【问题标题】:JSON Schema to represent a name and value with value constrained by nameJSON Schema 表示名称和值,其值受名称约束
【发布时间】:2017-12-20 16:40:33
【问题描述】:

我有以下所有有效的 JSON sn-ps

"units": { "name": "EU", "value": "Grams" }
"units": { "name": "EU", "value": "Kilograms" }
"units": { "name": "US", "value": "Ounces" }
"units": { "name": "US", "value": "Pounds" }

名称值可以是欧盟和美国,有效值应取决于名称值。

对这两个属性都使用 JSON Schema 枚举很容易,但我可以使用 JSON Schema 强制执行额外的约束吗?

我会考虑更改整体架构,以便在名称对象和值对象之间存在父子关系,但理想情况下会避免这种情况。

【问题讨论】:

    标签: jsonschema


    【解决方案1】:

    我设法使用https://www.jsonschemavalidator.net/ 破解它,并通过一个示例来工作。以下架构提供了解决方案:

    "units": { 
        "type":"object",
        "oneOf": [ {
          "properties": {
            "name": { "enum": [ "EU" ] },
            "value": { "enum" : ["Grams", "Kilograms"]}}}, {
          "properties": {
            "name": { "enum": [ "US" ] },
            "value": { "enum": ["Ounces", "Pounds"]}}}]
    }
    

    【讨论】:

      猜你喜欢
      • 2015-11-16
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      • 2021-05-27
      相关资源
      最近更新 更多