Проверка существующего файла JSON со схемой - PullRequest
0 голосов
/ 02 июля 2019

Я создаю сканер 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"
    }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...