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