Penyiapan kotlinx.serialization
Tambahkan plugin
Penyiapan kotlinx.serialization adalah pelajaran Kotlin Academy gratis di CoddyKit. Ini adalah pelajaran 1 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 Kotlin Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Academy mencakup 4 pelajaran total.
Apa itu kotlinx.serialization?
kotlinx.serialization adalah pustaka Kotlin resmi untuk mengubah objek menjadi dan dari format seperti JSON.
- Kotlin murni, siap untuk lintas platform
- Pembuatan kode saat kompilasi (tanpa refleksi)
- Dikelola oleh JetBrains
Pustaka ini bekerja dengan pengaya kompiler serta pustaka waktu proses.
Mengapa Memerlukan Pengaya Kompiler?
Tidak seperti pustaka berbasis refleksi, kotlinx.serialization membuat serialisator saat kompilasi.
- Lebih cepat, tanpa biaya refleksi saat dijalankan
- Bekerja di Kotlin/Native dan JS, tempat refleksi terbatas
- Aman terhadap tipe dan diverifikasi oleh kompiler
Itulah sebabnya Anda harus menerapkan pengaya kotlin-serialization, bukan sekadar menambahkan dependensi.
Menerapkan Pengaya (DSL Kotlin)
Di dalam build.gradle.kts, terapkan pengaya serialisasi dengan versi yang sama seperti pengaya Kotlin Anda.
plugins {
kotlin("jvm") version "2.0.0"
kotlin("plugin.serialization") version "2.0.0"
}Menambahkan Dependensi Waktu Proses
Pengaya menghasilkan kode, tetapi Anda juga memerlukan pustaka waktu proses JSON.
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1")
}Penyelarasan Versi Itu Penting
Versi plugin.serialization harus cocok dengan versi kompiler Kotlin Anda. Pustaka waktu proses memiliki versinya sendiri yang tidak bergantung pada itu.
- Versi pengaya = versi Kotlin (misalnya 2.0.0)
- Versi waktu proses terpisah (misalnya 1.7.1)
Ketidakcocokan versi pengaya/Kotlin menyebabkan galat pembangunan yang sulit dipahami.
Format Lain
JSON adalah format yang paling umum, tetapi kotlinx.serialization mendukung lebih banyak format melalui artefak tambahan:
kotlinx-serialization-json— JSONkotlinx-serialization-cbor— biner CBORkotlinx-serialization-protobuf— Protocol Buffers
Anda hanya perlu menambahkan artefak untuk format yang diperlukan.
Padanan DSL Groovy
Jika proyek Anda menggunakan Groovy build.gradle, bukan DSL Kotlin, penyiapannya terlihat seperti ini.
// build.gradle (Groovy)
plugins {
id 'org.jetbrains.kotlin.jvm' version '2.0.0'
id 'org.jetbrains.kotlin.plugin.serialization' version '2.0.0'
}
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1'
}Titik Masuk Json
Setelah disiapkan, Anda menggunakan objek Json dari kotlinx.serialization.json sebagai titik masuk utama untuk pengodean dan pendekodean.
import kotlinx.serialization.json.Json
val format = Json
// format.encodeToString(...) / format.decodeFromString(...)Cuplikan Kerja Minimal
Berikut contoh menyeluruh terkecil setelah pengaya dan pustaka waktu proses dikonfigurasi.
import kotlinx.serialization.Serializable
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
@Serializable
data class City(val name: String, val population: Int)
fun main() {
val city = City("Istanbul", 15000000)
val json = Json.encodeToString(city)
println(json)
}Penyiapan Lintas Platform
Dalam proyek Kotlin Multiplatform, tambahkan pustaka waktu proses ke commonMain agar semua target dapat menggunakannya bersama.
sourceSets {
val commonMain by getting {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1")
}
}
}Kesalahan Umum dalam Penyiapan
Waspadai masalah-masalah umum berikut:
- Lupa menerapkan pengaya — Anda mendapatkan
Serializer has not been found - Versi pengaya tidak cocok dengan versi Kotlin
- Menambahkan pustaka waktu proses tetapi tidak menambahkan pengaya, atau sebaliknya
- Impor
encodeToStringtidak ada
Pemeriksaan Singkat
Mengapa kotlinx.serialization memerlukan pengaya kompiler Gradle?
Ringkasan
Anda menyiapkan kotlinx.serialization dengan cara:
- Menerapkan pengaya
kotlin("plugin.serialization")yang sesuai dengan versi Kotlin Anda - Menambahkan dependensi waktu proses
kotlinx-serialization-json - Menggunakan objek
Jsonsebagai titik masuk
Selanjutnya, Anda akan memberi anotasi pada kelas model dengan @Serializable.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Penyiapan kotlinx.serialization” gratis?
Ya — teks lengkap “Penyiapan kotlinx.serialization” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Penyiapan kotlinx.serialization”?
Tambahkan plugin Kamu berlatih Kotlin 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 Kotlin Academy?
Tidak diperlukan pengalaman sebelumnya. Kotlin 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 1 dari 4.
Berapa lama pelajaran “Penyiapan kotlinx.serialization” 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 Kotlin Academy ini?
Ya. Setiap pelajaran Kotlin 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
- Penyiapan kotlinx.serialization
- Kelas yang Dapat Diserialisasi
- Pengodean dan Penguraian JSON
- Serializer Kustom