具有随机数键的对象的 JSON 模式

Noi*_*art 2 jsonschema

我有一个对象,它的键是数字,它的值是字符串:

{
  0: 'blah',
  2: 'blah'
}
Run Code Online (Sandbox Code Playgroud)

这个对象是什么,每个键都是一个包含错误的数组的索引,字符串描述了那个错误。我能找到的最接近这个架构的是:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "0": {
      "type": "string"
    },
    "2": {
      "type": "string"
    }
  },
  "required": [
    "0",
    "2"
  ]
}
Run Code Online (Sandbox Code Playgroud)

然而,这是不准确的。也许下次只有索引“4”会出错。有没有办法在对象中描述动态键?

gre*_*nis 5

你应该试试patternProperties。它允许您为名称与给定正则表达式匹配的所有属性定义架构。

{
  "patternProperties": {
    "^[0-9]+$": {"type": "string"}
  }
}
Run Code Online (Sandbox Code Playgroud)