Wejście JSON

Wyjście Kotlin

Czym jest JSON do Kotlin?

Gdy tworzysz aplikację Android lub serwis backendowy Kotlin i otrzymujesz odpowiedź JSON z API, potrzebujesz data class Kotlin odpowiadających strukturze, zanim będziesz mógł cokolwiek zdeserializować. Pisanie ich ręcznie — szczególnie przy głęboko zagnieżdżonych obiektach — jest wolne i łatwe do popełnienia błędów. To narzędzie automatycznie generuje data classy Kotlin z Twojego JSON. Wklej przykładową odpowiedź i w sekundy uzyskasz gotowe do użycia modele dla kotlinx.serialization lub Gson.

Konwersja przebiega w przeglądarce. Ustaw nazwę klasy danych i pakiet w konfiguracji. Włącz Data Class dla składni data class i Typy Nullable dla pól opcjonalnych. Nic nie jest wysyłane na serwer.

Jak używać tego narzędzia

1

Wklej lub wczytaj JSON

Wklej swój JSON do lewego edytora lub wczytaj plik. Użyj Przykład dla przykładowych danych. Ustaw nazwę głównej klasy danych i pakiet w konfiguracji. Włącz Data Class i Typy Nullable według potrzeb.

2

Przejrzyj wygenerowane typy

Prawy panel pokazuje klasy danych Kotlin. Zagnieżdżone obiekty stają się zagnieżdżonymi typami. Tablice stają się List<T>. Użyj @SerializedName lub @Json jeśli klucze JSON różnią się od nazw właściwości. Dla nieprawidłowego JSON najpierw użyj Formatera JSON lub Walidatora JSON.

3

Kopiuj lub pobierz

Użyj Kopiuj lub Pobierz. Wklej do swojego projektu Android lub Kotlin. Do formatowania JSON najpierw użyj Formatera JSON. Do walidacji użyj Walidatora JSON.

Przykłady JSON do Kotlin

Oto przykład generowania klas danych Kotlin z obiektu JSON.

Przykład: Rekord subskrybenta

Wejście JSON:

Wejście

Wygenerowane wyjście Kotlin:

Wyjście

Kiedy JSON do Kotlin jest przydatny

Podczas tworzenia aplikacji Android lub serwisów backendowych Kotlin korzystających z REST API potrzebne są typowane klasy danych. Wklej tu przykładową odpowiedź, aby uzyskać modele Kotlin dla Retrofit, Gson lub kotlinx.serialization.

Często zadawane pytania

Jak działają data classy Kotlin z JSON?

Kotlin data class przechowuje ustrukturyzowane dane z automatycznie generowanymi metodami equals, hashCode, toString i copy. Biblioteki takie jak Gson i kotlinx.serialization używają właściwości klasy do mapowania pól JSON. Wygeneruj data class tutaj, dodaj odpowiednie adnotacje i deserializuj za pomocą Gson.fromJson lub Json.decodeFromString.

Jak parsować JSON z Retrofit w Kotlin?

Dodaj fabrykę konwertera Gson lub kotlinx.serialization do builderu Retrofit, następnie zdefiniuj interfejs API z typem zwracanym data class. Wygeneruj data class z odpowiedzi API tutaj, wklej ją do swojego projektu, a Retrofit automatycznie obsłuży deserializację.

Różnica między @SerializedName a @SerialName w Kotlin?

@SerializedName jest dla Gson i mapuje klucz JSON na nazwę właściwości Kotlin. @SerialName to odpowiednik kotlinx.serialization. Używaj tego, który pasuje do Twojej biblioteki JSON. Oba pozwalają mapować klucze JSON jak user_name na właściwość Kotlin o nazwie userName.

Czy mój JSON jest wysyłany na serwer?

Nie. Generowanie data class odbywa się całkowicie w Twojej przeglądarce. Twój JSON nigdy nie opuszcza Twojego komputera.

Nullable typy w data classach Kotlin?

Włącz Nullable Types, aby generować String?, Int?, itp. Przydatne, gdy pole JSON może być nieobecne lub null. Null-bezpieczeństwo Kotlin oznacza, że uzyskasz błąd kompilacji, jeśli zapomnisz obsłużyć te przypadki.

Powiązane narzędzia

Dla JSON w Kotlin, zobacz kotlinx.serialization i Gson. Dla JSON, zobacz specyfikację JSON i RFC 8259.