Проверка JSON по схеме
Модель обещала вернуть JSON по схеме — а вернула что-то своё. Вставьте схему и ответ: покажем каждое расхождение с точным путём до поля.
Зачем это нужно
Структурированный вывод — стандартный способ получать от модели данные, а не прозу: вы описываете схему, модель обещает её соблюдать. На практике ответ бывает «почти по схеме»: поле пропущено, число пришло строкой, в enum попало значение не из списка. Такие расхождения роняют код дальше по конвейеру, и искать их глазами в длинном JSON неблагодарно.
Этот инструмент — быстрый стенд: скопировали схему из кода, скопировали ответ модели из логов, увидели все расхождения списком.
Что поддерживается
type (включая массив типов), required, properties, items, enum, const, minimum/maximum, minLength/maxLength, minItems/maxItems, pattern, additionalProperties: false. Вложенность любая.
Это сознательно упрощённый валидатор для типовых схем структурированного вывода: $ref, oneOf/anyOf и форматы дат он не разбирает. Для схем такой сложности берите полноценную библиотеку — здесь важна скорость проверки, а не полнота стандарта.
Всё считается в браузере, ни схема, ни данные никуда не отправляются.
Составить схему с нуля поможет генератор схем функций, привести JSON в читаемый вид — форматтер.