Генератор примеров 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
- Вставьте JSON Schema в формате JSON или YAML.
- Выберите начальное значение и количество корректных и некорректных примеров.
- Запустите генератор и просмотрите правило, нарушенное каждым некорректным примером.
- Скачайте отчёт или файлы JSON Lines.
Что нужно знать
Принимает схему размером до 50 000 символов, от 1 до 100 корректных примеров и от 0 до 100 некорректных примеров; размер результата — до 4 000 000 символов. Всё выполняется в браузере. Можно скачать отчёт JSON и файлы JSON Lines.
Как создаются примеры
Генератор проходит по схеме и выбирает значения из типов, перечислений, диапазонов, длин, простых шаблонов и распространённых форматов с помощью генератора случайных чисел с начальным значением; поэтому одно и то же начальное значение даёт те же примеры. Затем каждый кандидат проверяется с Ajv. Кандидат, не прошедший проверку, заменяется; после 25 попыток пример указывается как несгенерированный, а не выводится.
Некорректные примеры
Некорректные примеры создаются на основе корректного, нарушая по одному правилу за раз: например, неверный тип, отсутствие обязательного свойства, значение вне перечисления или диапазона либо лишнее свойство. Каждый пример проверяется повторно, а в отчёте указано не сработавшее ключевое слово.
Ограничения
Отслеживаются только локальные ссылки внутри схемы; ссылки на другие файлы или URLs не загружаются. Сложные регулярные выражения, ключевое слово not и некоторые сочетания oneOf могут выходить за пределы поиска, поддерживаемого генератором. Такие примеры помечаются как несгенерированные. Схемы, в которых __proto__ используется как ключ свойства, шаблона или зависимости, отклоняются, поскольку встроенный валидатор не может надёжно проверить этот ключ. Буквальные данные экземпляра с таким ключом сохраняются.