happytails.ai
Русский

Генератор примеров JSON Schema

Создавайте воспроизводимые корректные и некорректные тестовые данные по JSON Schema. Каждый пример проверяется валидатором JSON Schema, прежде чем его предложат.

Принимает схему размером до 50 000 символов, от 1 до 100 корректных примеров и от 0 до 100 некорректных примеров; размер результата — до 4 000 000 символов. Всё выполняется в браузере. Можно скачать отчёт JSON и файлы JSON Lines. Вставьте одну схему в формате JSON или YAML. Локальные ссылки $ref отслеживаются. До 50 000 символов. Проверьте настройки перед запуском.

Ваш результат

Сообщите о проблеме или поделитесь идеей.

Генератор примеров JSON Schema
  1. Вставьте JSON Schema в формате JSON или YAML.
  2. Выберите начальное значение и количество корректных и некорректных примеров.
  3. Запустите генератор и просмотрите правило, нарушенное каждым некорректным примером.
  4. Скачайте отчёт или файлы JSON Lines.

Что нужно знать

Принимает схему размером до 50 000 символов, от 1 до 100 корректных примеров и от 0 до 100 некорректных примеров; размер результата — до 4 000 000 символов. Всё выполняется в браузере. Можно скачать отчёт JSON и файлы JSON Lines.

Как создаются примеры

Генератор проходит по схеме и выбирает значения из типов, перечислений, диапазонов, длин, простых шаблонов и распространённых форматов с помощью генератора случайных чисел с начальным значением; поэтому одно и то же начальное значение даёт те же примеры. Затем каждый кандидат проверяется с Ajv. Кандидат, не прошедший проверку, заменяется; после 25 попыток пример указывается как несгенерированный, а не выводится.

Некорректные примеры

Некорректные примеры создаются на основе корректного, нарушая по одному правилу за раз: например, неверный тип, отсутствие обязательного свойства, значение вне перечисления или диапазона либо лишнее свойство. Каждый пример проверяется повторно, а в отчёте указано не сработавшее ключевое слово.

Ограничения

Отслеживаются только локальные ссылки внутри схемы; ссылки на другие файлы или URLs не загружаются. Сложные регулярные выражения, ключевое слово not и некоторые сочетания oneOf могут выходить за пределы поиска, поддерживаемого генератором. Такие примеры помечаются как несгенерированные. Схемы, в которых __proto__ используется как ключ свойства, шаблона или зависимости, отклоняются, поскольку встроенный валидатор не может надёжно проверить этот ключ. Буквальные данные экземпляра с таким ключом сохраняются.