2015-04-13 5 views
1

У меня есть схема Json, как показано ниже, когда я проверяю ее на онлайн-валидаторе, например http://jsonschemalint.com/draft4/#, он говорит, что он действителен. Я изменил «тип» на «объект», «массив», «строка» и сохранил остальная часть структуры такая же. Пока она не говорит о действительной схеме. Насколько я понимаю, когда тип = объект должен быть «свойства» когда тип = массив должен быть «элементы»Validate Json Schema Draft V4

{ 
    "title": "Example Schema", 
    "type": "string", 
    "properties": { 
    "firstName": { 
     "type": "string" 
    }, 
    "lastName": { 
     "type": "string" 
    } 
    }, 
    "required": [ 
    "firstName", 
    "lastName" 
    ] 
} 

ответ

1

According to the docs:

Некоторые ключевые слова проверки применяются только к одному или более примитивными типы. Когда примитивный тип экземпляра не может быть проверен с помощью заданного ключевого слова , проверка правильности этого ключевого слова и экземпляра СЛЕДУЕТ.

Так что поведение, о котором вы упомянули, верное.

+0

Чтобы расширить этот ответ ... Все эти ключевые слова имеют значения по умолчанию, если их нет. Например, если проверка объекта, не имеющего ключевое слово 'properties', считается присутствующим со значением' {} '. – Jason

+0

@ Джейсон благодарю вас за это понимание, я не знал об этом – user2478236

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