【问题标题】:Setting an Attribute as a "string" or null in JSON Schema with a maxLength在具有 maxLength 的 JSON Schema 中将属性设置为“字符串”或 null
【发布时间】:2015-10-07 19:10:24
【问题描述】:

我正在尝试创建一个允许为空属性的 JSON 模式。例如,我希望以下 JSON 有效:

{
 "some_name" : null
}

具有以下架构:

{
  "type": "object",
  "properties": {
    "some_name": {
      "type": [
        "string",
        null
      ],
      "maxLength": 100
    }
  }
}

但是,它认为“null”不能有 maxLength,所以它是无效的。有没有好的方法来做到这一点?我希望有一个“可空”属性,或者类似的东西!

【问题讨论】:

  • 我认为“null”是它自己的类型(在引号中,即"type": "null"),因此您需要为字符串类型指定maxLength并允许多种类型。可能使用oneOfanyOfenum?我从来没有使用过它。刚刚做了一个快速的谷歌搜索。
  • 我也从未使用过它(或一般的 JSON Schema),所以我有点脱节。任何有帮助的额外信息,感谢您的评论!

标签: javascript json jsonschema json-schema-validator


【解决方案1】:

似乎在我的 SCHEMA 中创建类型 "null" 而不是 null 就可以了。 Null 是它自己的模式类型,似乎可以触发更好的验证。

{
  "type": "object",
  "properties": {
    "some_name": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 100
    }
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-11
    • 2012-01-25
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    相关资源
    最近更新 更多