JSON ke Kotlin
Buat data class Kotlin dari JSON untuk kotlinx.serialization, Gson, Moshi, atau Jackson
Tempel JSON atau muat contoh untuk membuat kode Kotlin.
Apa yang dihasilkan JSON ke Kotlin
JSON ke Kotlin mengubah respons API atau contoh JSON apa pun menjadi data class Kotlin untuk kotlinx.serialization, Gson, Moshi, Jackson, atau tanpa pustaka. Jika nama properti berbeda dari kuncinya, misalnya user_name → userName, anotasi pustaka yang dipilih (@SerialName, @SerializedName, @Json, atau @JsonProperty) memetakannya kembali ke JSON. Kata kunci seperti class, object, when, atau fun ditulis dalam backtick, dan kunci yang bukan nama valid, seperti 123abc atau user-name, diganti namanya dengan pemetaan atau dipertahankan dalam backtick, tergantung pengaturan penamaan.
Cara penggunaan
- 1.Tempel JSON, unggah atau jatuhkan berkas .json, atau muat salah satu contoh.
- 2.Atur nama tipe akar, penamaan properti, dan nullability.
- 3.Pilih pustaka serialisasi, lalu aktifkan nilai bawaan jika setiap kelas perlu konstruktor tanpa argumen.
- 4.Di Lanjutan, atur paket atau sarangkan kelas di dalam kelas akar.
- 5.Baca catatan di bawah keluaran, lalu salin kode atau unduh berkas .kt.
Cara tipe disimpulkan
- •Setiap elemen array diperiksa, bukan hanya yang pertama, dan objek dalam array yang sama digabungkan.
- •Kunci yang tidak ada di sebagian objek bersifat opsional dan menjadi T? = null; kunci yang kadang null menjadi T?. Keduanya dibedakan, sehingga {"id": 1, "name": "A"} dan {"id": 2} menghasilkan val name: String? = null.
- •Bilangan bulat yang muat 32 bit menjadi Int, yang lebih besar menjadi Long, dan yang melebihi 64 bit menjadi BigInteger (JsonPrimitive dengan kotlinx.serialization). Nilai di atas ±2^53 diberi catatan, karena klien JavaScript dapat membulatkannya.
- •1 dan 2.5 di posisi yang sama dilebarkan menjadi Double; campuran lainnya dilaporkan.
- •Pemetaan tipe: string → String, desimal → Double, boolean → Boolean, array → List<T>, objek → data class, objek kosong → class, tidak diketahui atau campuran → Any? (JsonElement? dengan kotlinx.serialization).
Batas dan privasi
Contoh hanya menunjukkan bentuk data pada satu waktu, bukan kontrak API lengkap. Tinjau field opsional, tipe generik, dan lebar angka sebelum mengandalkan kode. Kode yang dihasilkan memerlukan penyiapan pustaka seperti biasa: plugin compiler serialisasi, pembuatan kode Moshi, atau jackson-module-kotlin. Gson melewati konstruktor Kotlin, sehingga properti non-null tetap bisa menerima null kecuali setiap properti memiliki nilai bawaan. Masukan dibatasi 5 MB dan 256 tingkat bersarang; mulai 2 MB, pembuatan menunggu tombol Buat. Semua proses berjalan di peramban Anda dan JSON tidak pernah diunggah.
