Przejdź do treści
100% lokalnie

Generator schematu JSON

Wygeneruj schemat JSON z próbki dokumentu JSON, w tym typów, zagnieżdżonych obiektów i formatów.

Wejście
Wynik

Generator schematu JSON

Wklej próbkę dokumentu JSON — odpowiedź API, plik konfiguracyjny, eksport bazy danych — a to narzędzie wnioskuje schemat JSON, który opisuje jego strukturę: typ każdego pola, które są zagnieżdżone obiekty lub tablice i jak się łączą. To szybki sposób na zainicjowanie walidacji dla ładunku, który już masz, bez ręcznego pisania każdej właściwości.

Wybierz wersję schematu, której oczekuje twoje narzędzie: draft-07 lub 2020-12. Oznacz każdy klucz jako wymagany lub pozostaw schemat permisywny bez listy wymaganych. Zabronić dodatkowym właściwościom, aby złapać literówki i nieoczekiwane pola, lub wnioskuj formaty takie jak email, URI, UUID i ISO data-godzina bezpośrednio z wartości próbki. Włączenie limitów długości i zakresu dodaje ograniczenia minLength/maxLength i minimum/maximum pobrane bezpośrednio z tego, co wkleiłeś, a dodawanie opisów z nazw pól zmienia "firstName" na opis w naturalnym języku automatycznie. Gdy próbka ma głęboko zagnieżdżone obiekty, wyodrębnianie definicji wyciąga każdy zagnieżdżony kształt do własnego wpisu wielokrotnego użytku zamiast osadzania go wszędzie tam, gdzie jest używany.

Jeśli masz więcej niż jeden przykład tego samego rekordu, wklej jedną wartość JSON na wiersz i włącz scalanie wielu próbek: narzędzie łączy je w jeden schemat odzwierciedlający unię każdego pola i typu, które widział, zamiast generowania schematu tylko dla pierwszego. Narzędzie akceptuje zarówno zakończenia wierszy Windows, jak i Unix, a licznik poniżej wyniku informuje, ile właściwości wykryto podczas pisania.

Wszystko działa lokalnie w twojej przeglądarce: twój JSON nigdy nie jest przesyłany ani wysyłany na serwer. Skopiuj wygenerowany schemat, pobierz go jako plik .txt lub wyślij wynik bezpośrednio z powrotem do wejścia, aby go dalej ulepszać.

Częste pytania

Jaka jest różnica między draft-07 a 2020-12?
Obie są ważnymi wersjami JSON Schema z nieco innym nazewnictwem słów kluczowych — na przykład 2020-12 używa $defs gdzie draft-07 używa definitions. Wybierz któryś, którego oczekuje twój walidator lub narzędzie.
Czy mogę wygenerować schemat z więcej niż jednego przykładu?
Tak. Włącz scalanie wielu próbek i wklej jedną wartość JSON na wiersz — narzędzie łączy je w jeden schemat obejmujący każde pole i typ, który widział we wszystkich nich.
Czy będzie domyślać się formatów takich jak email lub UUID?
Gdy wnioskowanie formatu jest włączone, wartości ciągu pasujące do znanego wzoru — adres email, URI, UUID lub ISO data-godzina — otrzymują odpowiednie słowo kluczowe formatu, ale tylko gdy każda wartość próbki dla tego pola się zgadza.
Czy schemat odrzuci pola, które nie zawarłem w mojej próbce?
Tylko jeśli włączysz opcję "Zabroń dodatkowym właściwościom". Domyślnie schemat opisuje tylko to, co widział i pozwala na dodatkowe pola.
Czy mój JSON jest gdzieś przesyłany?
Nie. Generowanie schematu działa całkowicie w twojej przeglądarce — twój JSON nigdy nie opuszcza twoje urządzenie.