Menukar Kelas Data Kotlin dari JSON menggunakan GSON

1. Gambaran keseluruhan

Dalam tutorial ringkas ini, kita akan membincangkan cara menukar kelas data di Kotlin ke rentetan JSON dan sebaliknya menggunakan perpustakaan Gson Java.

2. Ketergantungan Maven

Sebelum memulakan, mari tambah Gson ke pom.xml kami :

 com.google.code.gson gson 2.8.5 

3. Kelas Data Kotlin

Pertama sekali, mari buat kelas data yang akan kami ubah menjadi rentetan JSON di bahagian kemudian artikel:

data class TestModel( val id: Int, val description: String )

The TestModel kelas terdiri daripada 2 sifat: id dan nama . Oleh itu, rentetan JSON yang kami harapkan dari Gson akan kelihatan seperti:

{"id":1,"description":"Test"}

4. Menukar dari Kelas Data ke JSON String

Sekarang, kita boleh menggunakan Gson untuk menukar objek kelas TestModel ke JSON :

var gson = Gson() var jsonString = gson.toJson(TestModel(1,"Test")) Assert.assertEquals(jsonString, """{"id":1,"description":"Test"}""")

Dalam contoh ini, kami menggunakan Assert untuk memeriksa apakah output dari Gson sesuai dengan nilai jangkaan kami.

5. Menukar dari JSON String ke Kelas Data

Sudah tentu, kadang-kadang kita perlu menukar dari JSON ke objek data :

var jsonString = """{"id":1,"description":"Test"}"""; var testModel = gson.fromJson(jsonString, TestModel::class.java) Assert.assertEquals(testModel.id, 1) Assert.assertEquals(testModel.description, "Test")

Di sini, kami menukar rentetan JSON ke objek TestModel dengan menyuruh Gson menggunakan TestModel :: class.java kerana Gson adalah perpustakaan Java dan hanya menerima kelas Java .

Akhirnya, kami menguji sama ada objek hasil mengandungi nilai yang betul dalam rentetan asal.

6. Kesimpulannya

Dalam artikel ringkas ini, kami telah membincangkan cara menggunakan Gson di Kotlin untuk menukar kelas data Kotlin ke rentetan JSON dan sebaliknya.

Semua contoh, seperti biasa, terdapat di GitHub.