Analyser du JSON avec Moshi
Mappez les réponses vers des classes de données Kotlin.
Analyser du JSON avec Moshi est une leçon Jetpack Compose Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Jetpack Compose Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Jetpack Compose Academy comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
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: StringNullable 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 = falseNested 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.
Questions Fréquemment Posées
La leçon « Analyser du JSON avec Moshi » est-elle gratuite ?
Oui — le texte complet de « Analyser du JSON avec Moshi » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Jetpack Compose Academy, passe à CoddyKit PRO. Le cours Jetpack Compose Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Analyser du JSON avec Moshi » ?
Mappez les réponses vers des classes de données Kotlin. Tu pratiques Jetpack Compose Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Jetpack Compose Academy ?
Aucune expérience préalable n'est requise. Jetpack Compose Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Analyser du JSON avec Moshi » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Jetpack Compose Academy ?
Oui. Chaque leçon Jetpack Compose Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Définir une interface d’API Retrofit
- Analyser du JSON avec Moshi
- Appels suspend dans le ViewModel
- Interface de chargement, de réussite et d’erreur