Схема Json проверяет только первый элемент из массива

#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 ключевое слово в этой форме применит одну подсхему ко всем элементам, найденным в массиве.