#json
#json
Вопрос:
У меня есть схема json, в ней есть массив, я хочу проверить все элементы из массива, но схема проверяет только первый элемент, почему схема не проверяет остальные?
Схема:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"codigoEmpresa": {
"type": "string"
},
"nombreEmpresa": {
"type": "string"
},
"planes": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"codigoPlan": {
"type": "string"
},
"nombrePlan": {
"type": "string"
},
"tipoProducto": {
"type": "integer"
}
},
"required": [
"codigoPlan",
"nombrePlan",
"tipoProducto"
]
}
]
}
},
"required": [
"codigoEmpresa",
"nombreEmpresa",
"planes"
]
}
Недопустимый json:
{
"codigoEmpresa":"204",
"nombreEmpresa":"Claro",
"planes":[
{
"codigoPlan":"M-PP-Premium-30.03",
"nombrePlan":"Plan Max Premium Libre",
"tipoProducto":1
},
{
"tipoProducto":3
}
]
}
Средство проверки схемы:
https://json-schema-validator.herokuapp.com/
Атрибуты nombrePlan и tipoProducto во втором элементе из массива требуются для json, но средство проверки схемы не проверяет его.
Ответ №1:
"items": [ { ... } ]
в вашей схеме должно быть
"items": { ... }
items
ключевое слово в этой форме применит одну подсхему ко всем элементам, найденным в массиве.