2016-01-12 2 views
1

У меня есть следующее определение схемы. библиотека. может быть много. поэтому в этом объекте библиотеки есть некоторые другие свойства, которые требуются. Но хотя я использую следующий код, он не проверяется. Я имею в виду, что название книги не требуется. требуется название автора. Как я могу это исправить?Обязательные поля для свойств в пределах определения схемы массива объектов

schema definition 
    { 
     "$schema": "http://json-schema.org/draft-04/schema#", 
     "type": "object", 
     "required": ["library"], 
     "properties": { 

     "library": { 
      "type": "array", 
      "items": [ 
      {"required":["title"], 
       "type": "object", 

       "properties": { 
       "title": { 
        "type": "string" 
       }, 

       "author": { 
        "type": "string" 
       } 
       } 
      } 
      ] 
     }}} 

вход JSON

{"library":[] 
} 

ожидается ввод JSON

{"library":[{"title":"Max"}] 
} 
+0

Пожалуйста, добавьте примеры объектов JSON, которые должны проверять и объекты JSON, которые не должны. Текст вопроса довольно сложно понять. – jruizaranguren

ответ

0

Я предполагаю, что вы хотите "JSon вход", чтобы потерпеть неудачу.

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

В противном случае JSON:

{"library":[{}]} 

С другой стороны, если Вы хотите probibit пустые библиотеки: Schema JSON обладает свойством MINLENGTH.

0

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

{ 
    "$schema": "http://json-schema.org/draft-04/schema#", 
    "type": "object", 
    "required": ["library"], 
    "properties": { 
    "library": { 
     "type": "array", 
     "items": { 
     "required": ["title"], 
     "type": "object", 
     "properties": { 
      "title": { 
      "type": "string" 
      }, 
      "author": { 
      "type": "string" 
      } 
     } 
     } 
    } 
    } 
} 
Смежные вопросы