2017-01-27 2 views
0

Я хотел бы поставить ограничения ключ в документе JSON, используя схему JSON. Например, я могу иметь JSON документ, который выглядит следующим образом:Ограничение ключа в схеме JSON

{ 
    "id": 1, 
    "name": "a green door", 
    "price": 12.50, 
    "tags": ["home", "green"] 
} 

Я не заботиться о том, использованных конкретные клавиши, но я хотел бы применять в схеме, что ни одна клавиша не длиннее определенное количество символов; скажем, 4 символа ради аргумента. Приведенный выше пример завершит проверку схемы, поскольку «цена» имеет длину 5 символов.

Я знаю, как проверить длину значения- здесь, я забочусь о ключа.

ответ

0

Вы можете использовать patternProperties, чтобы ограничить имена свойств теми, которые соответствуют регулярному выражению. В случае вашего примера, это может выглядеть следующим образом:

{ "$schema": "http://json-schema.org/draft-04/schema#", 
    "type": "object", 
    "additionalProperties": false, 
    "patternProperties": { 
    "^.{1,4}$": {} 
    } 
} 

"additionalProperties": false Примечание Необходимо также.

Смежные вопросы