DT Dev Tools

Konwerter JSON na Kotlin — Generator klas danych

Konwertuj JSON na klasy danych Kotlina online dla kotlinx.serialization, Jackson lub Klaxon, z typami nullable i zagnieżdżonymi klasami. Za darmo i prywatnie.

🔒 Działa całkowicie w Twojej przeglądarce — nic nie jest przesyłane

Reklama

Klasy danych Kotlina z przykładu JSON

Klasy danych Kotlina naturalnie pasują do ładunków JSON, ale ręczne wpisywanie ich dla dużej odpowiedzi — zwłaszcza na Androidzie, gdzie każdy ekran zdaje się wywoływać kolejny endpoint — jest uciążliwe. Ten konwerter JSON na Kotlin generuje je z przykładu. Każdy obiekt staje się klasą data class z właściwościami val, klucze są zamieniane na camelCase z adnotacjami zachowującymi oryginalne nazwy JSON, zagnieżdżone obiekty stają się własnymi klasami, a tablice — typem List<T>. Pola nieobecne lub mające wartość null w niektórych przykładach stają się typami nullable, więc bezpieczeństwo null w Kotlinie dostajesz dokładnie tam, gdzie jest potrzebne.

Wnioskowanie typów zapewnia quicktype, który łączy każdy element każdej tablicy. Pola opcjonalne występujące tylko w kilku elementach są nadal uwzględniane, co zapobiega błędom w czasie działania, gdy deserializator napotka klucz nieznany modelowi.

kotlinx.serialization, Jackson lub Klaxon

Domyślny wynik jest przeznaczony dla kotlinx.serialization, wieloplatformowej biblioteki od JetBrains: klasy są oznaczone @Serializable, a klucze — @SerialName. Projekty serwerowe oparte na Springu często preferują Jacksona, który generuje adnotacje @JsonProperty i pomocnika ObjectMapper. Klaxon to lekka alternatywa, z której nadal korzystają niektóre projekty na Androida. Jeśli zamierzasz samodzielnie podłączyć serializację, zaznacz Data classes only. Ustaw nazwę pakietu, aby plik kompilował się na miejscu.

Wskazówki dla czystych modeli Kotlina

Podaj konwerterowi pełny przykład — kilka elementów tablicy, wypełnione pola opcjonalne i niepuste zagnieżdżone obiekty — aby null-owalność i typy zostały wywnioskowane poprawnie. Przed pobraniem zmień nazwę klasy głównej na nazwę ze swojej domeny. Potem rozważ zastąpienie ciągów o znanych wartościach typami enum class, użycie Instant lub LocalDate tam, gdzie Twój serializator to obsługuje, oraz dodanie wartości domyślnych dla pól pomijanych przez Twoje API. Generowanie odbywa się całkowicie w przeglądarce, więc możesz spokojnie wklejać prawdziwe odpowiedzi przechwycone podczas debugowania.

Jak używać

  1. Wklej JSONWklej obiekt lub tablicę JSON albo wczytaj przykład.
  2. Wybierz serializatorWybierz kotlinx.serialization, Jackson lub Klaxon i ustaw pakiet.
  3. Skopiuj klasy danychSkopiuj kod Kotlina lub pobierz go jako plik .kt.

Najczęściej zadawane pytania

Jakie biblioteki serializacji są obsługiwane?
kotlinx.serialization (domyślnie), Jackson i Klaxon. Każda z nich daje odpowiednie adnotacje i kod pomocniczy dla danej biblioteki.
Jak typowane są pola nullable?
Pola, które mają wartość null lub których brakuje w niektórych przykładach, są deklarowane z typem nullable, np. String?, i wartością domyślną null.
Czy mogę dostać klasy danych bez adnotacji?
Tak. Zaznacz Data classes only, aby otrzymać zwykłe klasy danych Kotlina bez kodu specyficznego dla serializatora.
Czy JSON opuszcza moją przeglądarkę?
Nie. Całe parsowanie i generowanie działa lokalnie na Twoim urządzeniu.
Reklama