Схема Json для проверки для общего ввода - PullRequest
0 голосов
/ 13 июня 2018

Мои данные Json выглядят как

{

"key1": "value1",

"key2": "value2",

"key3 ":" value3 ",

" iterKey ": {

" key11 ": [" val11 "," val12 "],

" key21 ": ["val21 "],

" key31 ": [" val31 "," val32 "]}

}

В приведенных выше данных Json key1, key2 и key3 зафиксированы, и ихзначение является строкой.Но iterKey - это карта, которая содержит пару ключ-значение.Размер и значение iterKey не фиксированы.Я хочу написать схему Json, которая проверит, что все ключи (key11, key21, key31 ..etc) являются строковыми и их значение является списком строк.

(я не знаю значения key11, key21 ..etc, это может быть любое значение) Пожалуйста, помогите написать схему для этого типа данных JSON.

1 Ответ

0 голосов
/ 13 июня 2018

Используйте patternProperties вместо properties.Тогда ключи - это не объекты, а регулярные выражения.Используйте .* как регулярное выражение, чтобы соответствовать всему.

{
  "type": "object",
  "properties": {
    "key1": {
      "type": "string"
    },
    ...
    "iterKey": {
      "type": "object",
      "patternProperties": {
        ".*": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}
...