Generator przykładów z JSON Schema
Twórz powtarzalne prawidłowe i nieprawidłowe dane testowe z JSON Schema. Każdy przykład jest sprawdzany walidatorem JSON Schema przed udostępnieniem.
Przyjmuje schemat do 50 000 znaków, od 1 do 100 prawidłowych przykładów i od 0 do 100 nieprawidłowych, przy wyniku do 4 000 000 znaków. Wszystko działa w przeglądarce. Do pobrania są raport JSON i pliki JSON Lines. Wklej jeden schemat JSON lub YAML. Lokalne odwołania $ref są rozwijane. Do 50000 znaków. Sprawdź ustawienia przed uruchomieniem.
Twój wynik
Generator przykładów z JSON Schema
- Wklej JSON Schema w formacie JSON lub YAML.
- Wybierz ziarno i liczbę prawidłowych oraz nieprawidłowych przykładów.
- Uruchom generator i sprawdź, którą regułę narusza każdy nieprawidłowy przykład.
- Pobierz raport lub pliki JSON Lines.
Warto wiedzieć
Przyjmuje schemat do 50 000 znaków, od 1 do 100 prawidłowych przykładów i od 0 do 100 nieprawidłowych, przy wyniku do 4 000 000 znaków. Wszystko działa w przeglądarce. Do pobrania są raport JSON i pliki JSON Lines.
Jak powstają przykłady
Generator przechodzi przez schemat i wybiera wartości z typów, wyliczeń, zakresów, długości, prostych wzorców i typowych formatów za pomocą generatora losowego z ziarnem, więc to samo ziarno daje te same przykłady. Każdy kandydat jest następnie sprawdzany w Ajv. Błędny kandydat jest zastępowany, a po 25 próbach przykład jest oznaczany jako niewygenerowany zamiast zwracania go w wyniku.
Nieprawidłowe przykłady
Nieprawidłowe przykłady powstają z prawidłowego przez naruszenie jednej reguły naraz, np. błędny typ, brak wymaganej właściwości, wartość poza wyliczeniem lub zakresem albo dodatkową właściwość. Każdy jest ponownie sprawdzany, a raport podaje naruszone słowo kluczowe.
Ograniczenia
Rozwijane są tylko lokalne odwołania w schemacie; odwołania do innych plików lub URLs nigdy nie są pobierane. Złożone wyrażenia regularne, not i niektóre kombinacje oneOf mogą przekroczyć obsługiwane możliwości wyszukiwania generatora. Takie przykłady są zgłaszane jako niewygenerowane. Schematy używające __proto__ jako klucza właściwości, wzorca lub zależności są odrzucane, ponieważ dołączony walidator nie może wiarygodnie sprawdzić tego klucza. Dosłowne dane instancji z takim kluczem są zachowywane.