К содержанию
Checkcraft
Практика в Checkcraft

Как проверить все 1000 элементов массива JSON

Первые элементы ответа правильные, а ошибка скрыта в конце большого массива. Проверка items[0] не говорит ничего об остальных объектах.

Подготовлено командой Checkcraft · Обновлено

Что получится

Учебный файл содержит ровно 1000 объектов. Правильный набор проходит. Во втором файле последний объект содержит ERROR и debug, и тест находит оба расхождения.

Реальный прогон файла из 1000 объектов. Испорчен именно последний объект, а не удобный для демонстрации первый.
Реальный прогон файла из 1000 объектов. Испорчен именно последний объект, а не удобный для демонстрации первый. Полный размер ↗

Сначала длина, затем обход

Добавьте «Длина массива» с путём items, оператором equals, ожидаемым размером 1000 и источником response. После него добавьте «ForEach массив» с тем же путём и пустыми условиями отбора. Проверка длины отдельно обнаруживает пустой, отсутствующий и укороченный массив.

Длина массива → items / equals / 1000 / response
ForEach массив → items / без фильтра

Проверить каждый объект

После ForEach добавьте «JSON поле ответа» для $.id с оператором > и значением 0, типом is_integer. Для $.status задайте equals, OK и is_string. Для $.amount задайте >=, 0 и is_integer. Внутри цикла пути относятся к текущему объекту. Все следующие шаги до конца тест-кейса выполняются внутри этого цикла.

Найти лишние параметры в любом элементе

Последним добавьте «JSON Whitelist» с источником current и правилом root: id, status, amount. Не выбирайте request, это другой источник. Обязательность полей обеспечивают предыдущие шаги, а whitelist запрещает дополнительные имена.

root: id, status, amount
Настройки белого списка в настоящем редакторе. Он находится после ForEach и применяется к текущему объекту.
Настройки белого списка в настоящем редакторе. Он находится после ForEach и применяется к текущему объекту. Полный размер ↗

Почему проверка первого элемента недостаточна

В приложенных файлах первые 999 объектов одинаково правильные. В тысячном объекте испорченного файла status равен ERROR и добавлен debug. Сначала выполните правильный файл, затем испорченный. Ограничение длины отображаемого отчёта не означает, что проверялись только показанные элементы.

Посчитать элементы по условию

Если задача состоит в подсчёте ошибок, используйте «Счётчик в массиве». Для items задайте поле фильтра status, оператор equals и значение ERROR, затем сравните количество с 0. Это отвечает на вопрос о числе ошибок. Проверки обязательных полей каждого объекта всё равно нужны отдельно. Ожидаемую длину 1000 заменяйте требованием своего API, а не переносите из учебного файла автоматически.

Повторить на готовых данных

Здесь лежит учебный тест-кейс для Checkcraft, правильный JSON и вариант с намеренной ошибкой. Файлы доступны без регистрации. Это данные для упражнения, а не доступ к чужому API.

Если приложение уже открыто

Создайте коллекцию, конструктор проверки и тест-кейс через контекстное меню дерева. В редакторе нажмите «Импорт» и выберите файл тест-кейса. Откройте добавленный тест. Скопируйте содержимое правильного JSON и нажмите «Вставить данные для анализа». Затем «Запустить тест-кейс» и вкладку «Результат».

Повторите те же действия с испорченным JSON, сохранив правила. В первом запуске ожидается успешная проверка, во втором ошибка. Если результат отличается, сравните импортированный тест, источник данных и текст отчёта.

Сверить с полученными при подготовке страницы отчётами можно по файлам успешного прогона и прогона с ошибкой. Примеры проверены 14 сентября 2026 года на текущем исходном коде приложения.

От примера к своей проверке

Посмотреть, как это работает на ваших данных

Можно начать с учебного файла на этой странице, увидеть найденную ошибку и затем заменить данные своим обезличенным примером. Для Windows и Linux доступна Free (beta) без ограничения срока.

Получить Free (beta)Как получить и запустить приложение

Для получения сборки нужен аккаунт и подтверждение email. Состав бесплатной версии опубликован на странице тарифов.