Mengurai JSON dengan Moshi
Petakan respons ke data class Kotlin.
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: StringNullable 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 = falseObjek 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.
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
- Mendefinisikan Interface API Retrofit
- Mengurai JSON dengan Moshi
- Pemanggilan suspend dalam ViewModel
- UI Memuat, Berhasil & Error