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__ використано як ключ властивості, шаблону чи залежності, відхиляються, оскільки вбудований валідатор не може надійно перевірити цей ключ. Буквальні дані екземпляра з таким ключем зберігаються.