Jetpack Compose Academy · Pelajaran

Mengurai JSON dengan Moshi

Petakan respons ke data class Kotlin.

Pelajaran 2 dari 413 langkah

Mengurai JSON dengan Moshi adalah pelajaran Jetpack Compose Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Jetpack Compose Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Jetpack Compose Academy mencakup 4 pelajaran total.

Mengapa Anda Memerlukan Pengurai

Server mengirim teks JSON mentah, sedangkan UI memerlukan objek Kotlin yang nyata. Pengurai seperti Moshi menjembatani keduanya secara otomatis.

Memetakan JSON ke Data Class

Setiap objek JSON menjadi data class Kotlin. Moshi mencocokkan nama bidang dan mengisi propertinya untuk Anda. ✨

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

Menggunakan @JsonClass untuk Pembuatan Kode

Tambahkan @JsonClass dengan generateAdapter true agar Moshi membuat adapter cepat saat kompilasi, bukan menggunakan refleksi yang lambat.

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

Mengganti Nama Bidang dengan @Json

Saat kunci JSON menggunakan snake_case, anotasi @Json memetakannya ke nama properti Kotlin yang rapi tanpa mengganti nama API.

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

Nullable Berarti Opsional

Jika sebuah bidang mungkin tidak ada, jadikan bidang tersebut nullable dengan tanda tanya. Moshi akan menetapkannya ke null, bukan gagal karena kunci tidak ada.

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

Nilai Bawaan Itu Berguna

Berikan sebuah properti nilai bawaan, dan Moshi akan menggunakannya setiap kali JSON tidak menyertakan bidang tersebut. Dengan begitu, model Anda tetap tahan terhadap perubahan.

val isVerified: Boolean = false

Objek Bertingkat Langsung Berfungsi

Jika JSON Anda berisi objek lain di dalamnya, buat modelnya sebagai data class tersendiri. Moshi mengurai seluruh tree dalam satu proses.

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

Daftar Objek

Array JSON dapat dipetakan dengan mudah ke List Kotlin yang berisi data class Anda. Moshi membuat setiap item secara berurutan untuk Anda.

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

Membuat Objek Moshi

Buat satu objek Moshi bersama dan tambahkan pabrik adapter Kotlin agar objek tersebut memahami data class dengan benar.

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

Menghubungkan Moshi ke Retrofit

Teruskan objek Moshi Anda ke MoshiConverterFactory saat membuat Retrofit, dan setiap respons akan diurai tanpa kode tambahan.

.addConverterFactory(MoshiConverterFactory.create(moshi))

Jaga Model Tetap Terfokus

Buat model hanya untuk bidang yang benar-benar Anda gunakan. Moshi mengabaikan kunci JSON yang tidak dikenal, sehingga data class yang ringkas tetap bersih dan cepat.

Pemeriksaan Singkat

Bagaimana cara memetakan kunci JSON bernama first_name ke properti Kotlin bernama firstName?

Ringkasan: JSON Menjadi Objek

Anda memodelkan respons sebagai data class, menangani penggantian nama, nilai null, dan objek bertingkat, lalu menghubungkan Moshi ke Retrofit. Selanjutnya, Anda akan memanggil titik akhir ini dari ViewModel.

Gratis untuk memulai

Belajar Kotlin dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengurai JSON dengan Moshi” gratis?

Ya — teks lengkap “Mengurai JSON dengan Moshi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Jetpack Compose Academy, upgrade ke CoddyKit PRO. Kursus Jetpack Compose Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mengurai JSON dengan Moshi”?

Petakan respons ke data class Kotlin. Kamu berlatih Jetpack Compose Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Jetpack Compose Academy?

Tidak diperlukan pengalaman sebelumnya. Jetpack Compose Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Mengurai JSON dengan Moshi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Jetpack Compose Academy ini?

Ya. Setiap pelajaran Jetpack Compose Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mendefinisikan Interface API Retrofit
  2. Mengurai JSON dengan Moshi
  3. Pemanggilan suspend dalam ViewModel
  4. UI Memuat, Berhasil & Error
← Kembali ke Jetpack Compose Academy