Я создаю сканер PHP, который анализирует ответ в формате JSON, и я хочу проверить его с помощью schema.json (я использую opis.io). Первая часть работает, и я создаю файл JSON. Я сталкиваюсь с проблемой проверки этого JSON с моим schema.json. Я получаю ошибку
Error: required
{
"missing": "title"
}
Я не совсем уверен, почему я получаю эту ошибку. Буду крайне признателен за любые советы.
Это код, который я использую для проверки моего существующего JSON:
function validate() {
require __DIR__ . '/vendor/autoload.php';
$get_file = file_get_contents('jobs.json');
$data = json_decode($get_file);
$data_object = (object)$data;
$schema = Schema::fromJsonString(file_get_contents('schema.json'));
$validator = new Validator();
/** @var ValidationResult $result */
$result = $validator->schemaValidation($data_object, $schema);
if ($result->isValid()) {
echo 'Your JSON is valid', PHP_EOL;
} else {
/** @var ValidationError $error */
$error = $result->getFirstError();
echo 'Your JSON is invalid', PHP_EOL;
echo "Error: ", $error->keyword(), PHP_EOL;
echo json_encode($error->keywordArgs(), JSON_PRETTY_PRINT), PHP_EOL;
}
}
Это мой файл json:
[
{
"title": "Title",
"location": "USA",
"date": "12 October 2018",
"content": "SOme content",
"apply_link": "https://somelink.com"
}
]