有没有办法根据属性名称的条件设置属性值格式要求?

时间:2017-01-25 12:58:29

标签: jsonschema

我有一个简单的JSON架构:

{
  "properties": {
    "name": {
      "type": "string"
    }
  },
  "type": "object"
}

它要求name属性是一个字符串。此架构不限制其他属性,例如

{
  name: 'foo',
  url: 'http://foo'/
}

后者是有效的输入。

有没有办法根据条件属性名称匹配来设置属性值格式要求?其中包含url字符串的任何属性必须对应于以下架构:

{
  "type": "string",
  "format": "url"
}

因此,输入:

{
  name: 'foo',
  location_url: 'not-a-valid-url'
}

会导致错误,因为location_url不包含有效的网址吗?

我想,这样的架构看起来像是:

{
  "properties": {
    "name": {
      "type": "string"
    }
  },
  "matchProperties": {
    "/url/i": {
      "type": "string",
      "format": "url"
    }
  }
  "type": "object"
}

其中matchProperties是我编写的关键字。

0 个答案:

没有答案