Я получаю следующий JSON и хотел бы проверить его.
[
{
"remindAt": "2015-08-23T18:53:00+02:00",
"comment": "Postman Comment"},
{
"remindAt": "2015-08-24T18:53:00+02:00",
"comment": "Postman Comment"}
]
Моя схема в настоящее время выглядит следующим образом
{
"type": "array",
"required": true,
"properties": {
"type": "object",
"required": false,
"additionalProperties": false,
"properties": {
"remindAt": {
"required": true,
"type": "string",
"format": "date-time"},
"comment": {
"required": true,
"type": "string"}
}
}
}
Это не работает. Это подтверждается истиной, даже если я удаляю комментарий из данных JSON. Я предполагаю, что структура моего файла схемы неверна.
Для проверки я использую следующую библиотеку
https://packagist.org/packages/justinrainbow/json-schema
Может кто-нибудь объяснить мне, что я делаю неправильно и как я правильно проверяю данные JSON?
заранее спасибо
В вашей схеме есть некоторые ошибки. Во-первых, вы используете свойства для объекта массива. свойства это предложение для объектов, а не массивов, поэтому оно будет игнорироваться.
От JSON-схема V4, требуется это массив.
Следующая схема потребует свойств remindAt и comment для всех элементов в массиве:
{
"type": "array",
"items": {
"additionalProperties": false,
"properties": {
"remindAt": {
"type": "string",
"format": "date-time"},
"comment": {
"type": "string"}
},
"required": ["remindAt", "comment"]
}
}
Других решений пока нет …