0Pricing
Jetpack Compose Academy · Lekcja

Parsowanie JSON za pomocą Moshi

Mapuj odpowiedzi na klasy danych Kotlin

Parsowanie JSON za pomocą Moshi to bezpłatna lekcja Jetpack Compose Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Jetpack Compose Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Jetpack Compose Academy zawiera 4 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

Why You Need a Parser

The server sends raw JSON text, but your UI needs real Kotlin objects. A parser like Moshi bridges that gap automatically.

Map JSON to a Data Class

Each JSON object becomes a Kotlin data class. Moshi matches field names and fills in the properties for you. ✨

data class User(
    val id: Int,
    val name: String
)

Use @JsonClass for Codegen

Add @JsonClass with generateAdapter true so Moshi builds a fast adapter at compile time instead of using slow reflection.

@JsonClass(generateAdapter = true)
data class User(val id: Int, val name: String)

Rename Fields With @Json

When a JSON key uses snake_case, the @Json annotation maps it to a clean Kotlin property name without renaming the API.

@Json(name = "full_name")
val fullName: String

Nullable Means Optional

If a field might be missing, make it nullable with a question mark. Moshi sets it to null instead of crashing on absent keys.

data class User(
    val id: Int,
    val bio: String?
)

Default Values Are Handy

Give a property a default value and Moshi uses it whenever the JSON omits that field, keeping your model resilient to change.

val isVerified: Boolean = false

Nested Objects Just Work

If your JSON nests another object, model it as its own data class. Moshi parses the whole tree in one pass.

data class User(val id: Int, val address: Address)

Lists of Objects

A JSON array maps cleanly to a Kotlin List of your data class. Moshi builds every item for you in order.

@GET("users")
fun getUsers(): Call<List<User>>

Build a Moshi Instance

Create one shared Moshi object and add the Kotlin adapter factory so it understands data classes properly.

val moshi = Moshi.Builder()
    .add(KotlinJsonAdapterFactory())
    .build()

Plug Moshi Into Retrofit

Pass your Moshi instance to MoshiConverterFactory when building Retrofit, and every response is parsed without extra code.

.addConverterFactory(MoshiConverterFactory.create(moshi))

Keep Models Focused

Only model the fields you actually use. Moshi ignores unknown JSON keys, so a lean data class stays clean and fast.

Quick Check

How do you map a JSON key named first_name to a Kotlin property called firstName?

Recap: JSON Into Objects

You modeled responses as data classes, handled renames, nulls, and nesting, and wired Moshi into Retrofit. Next you'll call these endpoints from a ViewModel.

Często zadawane pytania

Czy lekcja „Parsowanie JSON za pomocą Moshi” jest bezpłatna?

Tak — pełny tekst „Parsowanie JSON za pomocą Moshi” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Jetpack Compose Academy, przejdź na CoddyKit PRO. Kurs Jetpack Compose Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Parsowanie JSON za pomocą Moshi”?

Mapuj odpowiedzi na klasy danych Kotlin Ćwiczysz Jetpack Compose Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Jetpack Compose Academy?

Nie wymagamy żadnego doświadczenia. Jetpack Compose Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Parsowanie JSON za pomocą Moshi”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Jetpack Compose Academy?

Tak. Każda lekcja Jetpack Compose Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Definiowanie interfejsu API Retrofit
  2. Parsowanie JSON za pomocą Moshi
  3. Wywołania suspend w ViewModelu
  4. Interfejs wczytywania, powodzenia i błędu
← Powrót do Jetpack Compose Academy