Jak korzystać: JSON na typy
- 1
Wklej próbki JSON
Wklej jedną odpowiedź, tablicę rekordów lub kilka odpowiedzi jedna po drugiej; przykład pokazuje dwóch scalonych użytkowników.
- 2
Wybierz język
Wybierz TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift lub Rust oraz opcje stylu dla tego języka.
- 3
Nazwij typ główny
Ustaw nazwę typu najwyższego poziomu, na przykład User lub OrderResponse.
- 4
Generuj i skopiuj
Kliknij Generuj typy, a potem skopiuj kod lub go pobierz; po zmianach kod generuje się ponownie automatycznie.
Limity i Pro
Za darmo i bez rejestracji: 9 języków wyjściowych z 3 stylami Pythona, dowolna liczba scalanych próbek i pliki do 20 MB, a generowanie zostaje przerwane po 30 sekundach.
Pro usuwa reklamy; generator działa tak samo w każdym planie. Zobacz Pro
O narzędziu: JSON na typy
Ręczne pisanie typów dla odpowiedzi API jest wolne i łatwo o błąd, zwłaszcza gdy dane są zagnieżdżone na trzech poziomach. Wklej jedną lub kilka próbek JSON, a generator rozpozna strukturę i napisze gotowe do wklejenia definicje w dziewięciu odmianach: interfejsy lub aliasy typów TypeScript, TypeScript ze schematami Zod do walidacji w czasie działania, struktury Go z tagami json, klasy dataclass, TypedDict lub modele Pydantic v2 w Pythonie, rekordy Javy z adnotacjami Jackson, klasy C# dla System.Text.Json, klasy danych Kotlina dla kotlinx.serialization, struktury Codable w Swifcie oraz struktury Rusta dla serde.
Jedna próbka rzadko pokazuje wszystkie pola, dlatego generator scala tyle próbek, ile mu podasz. Możesz wkleić kilka dokumentów jeden po drugim, w formacie JSON Lines albo jako tablicę obiektów. Klucz, którego brakuje w części obiektów, staje się opcjonalny, klucz czasem równy null – dopuszcza wartość null, liczba całkowita, która bywa ułamkiem, zmienia się w liczbę zmiennoprzecinkową, a naprawdę mieszane wartości dają typ unii albo dynamiczny typ JSON danego języka. Obiekty zagnieżdżone dostają własne nazwane typy – orders zamienia się w Order, addresses w Address – a identyczne kształty są generowane raz i używane ponownie. Obiekty, których kluczami są liczby, UUID-y lub daty, zamieniane są na mapy.
Nazwy pól są dostosowywane do konwencji każdego języka, a klucze JSON, które się różnią, jak first-name czy class, są odwzorowywane z odpowiednią adnotacją, aliasem lub CodingKeys. Komentarze i końcowe przecinki w próbce nie przeszkadzają.
Wynik opisuje podane próbki. Generator nie może znać pól ani wartości, których w nich nie ma, więc zanim na nim polegasz, sprawdź go z dokumentacją API.
Prywatność
Próbki są analizowane, a kod generowany przez Web Worker w tej karcie, więc odpowiedzi API z danymi osobowymi lub wewnętrznymi nie są nigdzie przesyłane. Opcje języka i nazewnictwa zapisują się w pamięci lokalnej przeglądarki, a wklejony JSON nie jest przechowywany.
Funkcje
Scala wiele próbek
Brakujące klucze stają się opcjonalne, a wartości null dopuszczalne we wszystkich wklejonych próbkach.
9 języków
TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift i Rust z nazwami zgodnymi z konwencją danego języka.
Odwzorowanie kluczy
Tagi json, aliasy, @SerialName, @JsonProperty i CodingKeys zachowują oryginalne nazwy z JSON.