JSON ke Kotlin Data Class
Hasilkan Kotlin data class dari JSON, gratis, di browser Anda.
Untuk apa alat ini
Dari JSON ke Kotlin Data Class dalam hitungan detik
Siap untuk Android dan Kotlin
Menghasilkan kode yang kompatibel dengan Retrofit, kotlinx.serialization, dan Room. Tempel langsung ke proyek Anda.
100% pribadi
JSON API Anda tidak pernah meninggalkan browser. Tanpa pendaftaran, tanpa telemetri.
Tipe yang benar
Menyimpulkan String, Int, Long, Double, Boolean, List, dan tipe nullable dengan ?. Penumpukan penuh didukung.
Instan
Pembuatan secara real time saat Anda mengetik. Tanpa tombol, tanpa menunggu.
Cara kerjanya
Tiga langkah, tanpa kerumitan
Tempel JSON Anda
Tempel JSON dari API atau file konfigurasi Anda. Bisa berupa objek bersarang atau array.
Pembuatan instan
Alat ini menghasilkan Kotlin data class secara otomatis dengan tipe yang disimpulkan dan anotasi serialisasi.
Salin kodenya
Salin data class yang dihasilkan dan gunakan langsung di proyek Android atau Kotlin Anda.
FAQ
Ada pertanyaan?
Data class adalah fitur khusus Kotlin yang secara otomatis menghasilkan metode equals(), hashCode(), toString(), dan copy() berdasarkan properti yang dideklarasikan dalam konstruktor utama. Ini ideal untuk merepresentasikan model data, terutama respons REST API, karena menghilangkan boilerplate yang di Java harus ditulis secara manual atau menggunakan Lombok.
Secara default, properti val (tidak berubah) dihasilkan, yang merupakan praktik yang direkomendasikan di Kotlin untuk model data. val berarti nilai tidak dapat ditetapkan ulang setelah inisialisasi, membuat objek lebih dapat diprediksi dan aman untuk thread. Gunakan var hanya jika Anda perlu mengubah objek setelah dibuat.
Ya. Anotasi @Serializable dari kotlinx.serialization, library serialisasi JSON resmi Kotlin, ditambahkan. @SerialName juga ditambahkan ketika nama field JSON berbeda dari konvensi camelCase Kotlin, misalnya ketika JSON menggunakan snake_case.
Ketika nilai dalam JSON adalah null, atau ketika sebuah field tidak ada di semua objek dalam array, properti dihasilkan sebagai tipe nullable menggunakan operator ?. Misalnya, String? alih-alih String. Di Kotlin, perbedaan antara tipe nullable dan non-nullable adalah bagian dari sistem tipe dan compiler memverifikasinya saat kompilasi.
Dalam pengembangan Android, Kotlin data class terutama digunakan untuk memodelkan respons REST API dengan Retrofit, menyimpan data di database lokal dengan Room, melakukan serialisasi objek untuk diteruskan antara Activity/Fragment sebagai Parcelable, dan sebagai model dalam arsitektur MVVM atau MVI. Sejak Google mengadopsi Kotlin sebagai bahasa resmi untuk Android pada 2019, data class adalah standar de facto.
Kotlin di Android, kotlinx.serialization, dan Retrofit untuk API type-safe
Pada Mei 2019, Google mengumumkan bahwa Kotlin menjadi bahasa yang diutamakan untuk pengembangan Android, menggeser Java dari posisi pertama. Sejak itu, adopsi Kotlin di Android telah berkembang hingga lebih dari 95% aplikasi dalam top 1000 Google Play menggunakan Kotlin. Data class adalah salah satu fitur yang paling dihargai oleh pengembang Android justru karena menghilangkan boilerplate dari POJO Java.
kotlinx.serialization adalah library serialisasi resmi JetBrains untuk Kotlin. Berbeda dari Gson atau Moshi, library ini sepenuhnya native Kotlin, bekerja dengan kompilasi Kotlin Multiplatform Mobile, mendukung coroutine secara native, dan menghasilkan kode saat kompilasi alih-alih menggunakan refleksi saat runtime. Anotasi @Serializable pada data class sudah cukup untuk melakukan serialisasi dan deserialisasi JSON.
Retrofit yang dikembangkan oleh Square adalah library paling populer untuk mengonsumsi REST API di Android. Dikombinasikan dengan kotlinx.serialization atau Gson sebagai konverter, library ini memungkinkan pendefinisian antarmuka API dengan anotasi @GET, @POST, dan @Body, kemudian Retrofit secara otomatis menghasilkan implementasinya. Data class yang dihasilkan alat ini langsung kompatibel dengan Retrofit sebagai tipe kembalian atau tipe parameter request body.