Analizzare JSON con Moshi
Mappi le risposte in classi dati Kotlin.
Analizzare JSON con Moshi è una lezione Jetpack Compose Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Jetpack Compose Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Jetpack Compose Academy include 4 lezioni in totale.
Perché serve un parser
Il server invia testo JSON grezzo, ma l'interfaccia ha bisogno di veri oggetti Kotlin. Un parser come Moshi collega automaticamente questi due mondi.
Mappare il JSON su una data class
Ogni oggetto JSON diventa una data class Kotlin. Moshi abbina i nomi dei campi e valorizza le proprietà al posto vostro. ✨
data class User(
val id: Int,
val name: String
)Usare @JsonClass per la generazione del codice
Aggiungete @JsonClass con generateAdapter true, così Moshi crea un adapter veloce in fase di compilazione invece di usare la lenta reflection.
@JsonClass(generateAdapter = true)
data class User(val id: Int, val name: String)Rinominare i campi con @Json
Quando una chiave JSON usa snake_case, l'annotazione @Json la associa a un nome di proprietà Kotlin più chiaro senza rinominare l'API.
@Json(name = "full_name")
val fullName: StringNullable significa facoltativo
Se un campo potrebbe mancare, rendetelo nullable usando un punto interrogativo. Moshi gli assegnerà null invece di andare in errore quando la chiave è assente.
data class User(
val id: Int,
val bio: String?
)I valori predefiniti sono utili
Assegnate a una proprietà un default value e Moshi lo utilizzerà quando il JSON omette quel campo, mantenendo il modello resistente ai cambiamenti.
val isVerified: Boolean = falseGli oggetti annidati funzionano automaticamente
Se il JSON contiene un altro oggetto annidato, modellatelo come una data class separata. Moshi analizza l'intero tree in un solo passaggio.
data class User(val id: Int, val address: Address)Elenchi di oggetti
Un array JSON corrisponde facilmente a una List Kotlin della vostra data class. Moshi crea ogni elemento nell'ordine corretto.
@GET("users")
fun getUsers(): Call<List<User>>Creare un'istanza di Moshi
Create un unico oggetto Moshi condiviso e aggiungete la factory dell'adapter Kotlin, così potrà gestire correttamente le data class.
val moshi = Moshi.Builder()
.add(KotlinJsonAdapterFactory())
.build()Collegare Moshi a Retrofit
Passate l'istanza di Moshi a MoshiConverterFactory durante la creazione di Retrofit: ogni risposta verrà analizzata senza codice aggiuntivo.
.addConverterFactory(MoshiConverterFactory.create(moshi))Mantenere i modelli focalizzati
Modellate solo i campi che utilizzate davvero. Moshi ignores le chiavi JSON sconosciute, quindi una data class essenziale rimane pulita e veloce.
Controllo rapido
Come si associa una chiave JSON chiamata first_name a una proprietà Kotlin chiamata firstName?
Riepilogo: dal JSON agli oggetti
Avete modellato le risposte come data classes, gestito rinominazioni, valori null e strutture annidate, quindi collegato Moshi a Retrofit. Ora chiamerete questi endpoint da un ViewModel.
Impara Kotlin con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Analizzare JSON con Moshi» è gratuita?
Sì — il testo completo di «Analizzare JSON con Moshi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Jetpack Compose Academy, passa a CoddyKit PRO. Il corso Jetpack Compose Academy include 4 lezioni in totale.
Cosa imparerò in «Analizzare JSON con Moshi»?
Mappi le risposte in classi dati Kotlin. Eserciti Jetpack Compose Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Jetpack Compose Academy?
Non è richiesta alcuna esperienza precedente. Jetpack Compose Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Analizzare JSON con Moshi»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Jetpack Compose Academy?
Sì. Ogni lezione Jetpack Compose Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Definire un'interfaccia API Retrofit
- Analizzare JSON con Moshi
- Chiamate suspend nel ViewModel
- UI di caricamento, successo ed errore