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

Обязательные и лишние поля JSON без кода

Checkcraft — программа для проверки API и логов без кода, есть бесплатная версия. Скачать без регистрации →

Ответ выглядит знакомо, но в нём исчезла сумма или появился служебный debug. Сравнение только статуса запроса таких изменений не заметит.

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

Поможем с первой проверкой →

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

Один учебный тест проверяет status, числовой amount и разрешённые имена полей. На испорченном примере он обнаруживает неверное значение amount и лишний debug.

amount пришёл строкой вместо целого числа, debug отсутствует среди разрешённых полей. Настоящий подробный отчёт HTTP-прогона с правилами рядом со значениями. По нажатию откроется полный экран прогона.
amount пришёл строкой вместо целого числа, debug отсутствует среди разрешённых полей. Настоящий подробный отчёт HTTP-прогона с правилами рядом со значениями. По нажатию откроется полный экран прогона.

Проверить обязательные значения

Для вставленного JSON добавьте «Поле JSON/источника логов». Поле status должно равняться OK и иметь тип is_string. Поле amount должно быть не меньше 0 и иметь тип is_integer. Если обязательного поля нет, соответствующая проверка должна завершиться ошибкой.

{"status":"OK","amount":100}

Запретить лишние поля

Добавьте «JSON Whitelist», выберите источник current и укажите правило ниже. Оно разрешает только status и amount в текущем корневом объекте. Whitelist не заменяет проверки обязательности. Если все оставшиеся поля разрешены, одно лишь отсутствие amount не нарушает белый список.

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

Проверить правило на двух дефектах

Во втором примере amount превратился в текст, а debug не входит в контракт. Импортируемый тест сохраняет обе проверки. Сравните сообщения с ожидаемым поведением, затем отдельно удалите amount из правильного примера и повторите прогон.

{"status":"OK","amount":"oops","debug":true}

Работать с вложенной структурой

Для поля внутри объекта используйте его путь, например payment.amount. Белый список задаётся для структуры, а проверки значений для конкретных полей. Начните с одного вложенного объекта и проверьте результат на намеренно лишнем поле. Для массива правила каждого объекта нужно поместить в ForEach.

Не замораживать весь ответ

Дата, идентификатор и служебные значения могут изменяться законно. Проверяйте их по требованиям, а не копируйте целиком один успешный ответ как вечный эталон. AI может предложить правила по примеру, но обязательность и допустимые дополнительные поля должны исходить из контракта.

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

Быстрый опыт ниже выполняется в редакторе тест-кейса. На снимках показан подробный отчёт из HTTP-прогона или Log-прогона. Для HTTP-прогона верните учебный JSON или XML из локального мока, выполните импортированный тест-кейс и откройте «Анализ результатов», «Детально», «Со структурами». Для Log-прогона загрузите учебные данные в источник логов, включите «Без запроса», выполните проверку и откройте «Детально», «Подробно».

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

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

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

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

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

Проверять нежелательные поля без обещания аудита безопасности

Whitelist помогает обнаружить поле, которого нет в согласованном составе ответа. Например, неожиданный debug в учебном JSON. Это полезная проверка контракта и возможной избыточной выдачи данных. Она не сканирует API на все уязвимости и не заменяет AppSec или пентест. Для конфиденциальных данных нужны отдельные требования и проверка содержимого отчётов.

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

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

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

Скачать FreeКак получить и запустить приложение

Скачивание без регистрации и почты, архив готов за пару минут. Состав бесплатной версии опубликован на странице тарифов.

Можно спросить человека

Поможем с первой проверкой

Расскажите, что хотите проверить или на каком шаге остановились. Поможем запустить Checkcraft, подобрать пример и разобраться с первым прогоном. Можно написать до скачивания.

Telegram-группа открытая: не публикуйте пароли, токены и конфиденциальные рабочие данные. Для первого вопроса достаточно описания задачи.

Можно написать напрямую support@checkcraft.ru

Без регистрации. Ответим по email. Это обращение в поддержку, а не подписка на рассылку.