Pretvaranje Kotlin klase podataka iz JSON-a pomoću GSON-a

1. Pregled

U ovom kratkom vodiču razgovarat ćemo o tome kako pretvoriti a klasa podataka u Kotlinu u JSON string i obrnuto koristeći Gson Java knjižnicu.

2. Ovisnost Mavena

Prije nego što započnemo, dodajmo Gson na naš pom.xml:

 com.google.code.gson gson 2.8.5 

3. Kotlin Klasa podataka

Prije svega, izradimo a klasa podataka koji ćemo pretvoriti u JSON niz u kasnijim dijelovima članka:

podatkovna klasa TestModel (val id: Int, val opis: String)

The TestModel razred se sastoji od 2 atributa: iskaznica i Ime. Stoga bi JSON niz koji očekujemo od Gsona izgledao ovako:

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

4. Pretvaranje iz Klasa podataka u JSON String

Sada možemo koristiti Gson za pretvoriti predmete od TestModel razreda u JSON:

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

U ovom primjeru koristimo Tvrditi kako bismo provjerili odgovara li izlaz s Gsona našoj očekivanoj vrijednosti.

5. Pretvaranje iz JSON Stringa u a Klasa podataka

Naravno, ponekad moramo pretvoriti iz JSON-a u podatkovne objekte:

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

Ovdje pretvaramo JSON niz u TestModel prigovoriti govoreći Gsonu da se koristi TestModel :: class.java kao Gson je Java knjižnica i prihvaća samo Java klasu.

Na kraju testiramo sadrži li objekt rezultata ispravne vrijednosti u izvornom nizu.

6. Zaključak

U ovom kratkom članku razgovarali smo o tome kako koristiti Gson u Kotlinu za pretvaranje Kotlina klasa podataka na JSON niz i obrnuto.

Svi primjeri, kao i uvijek, mogu se naći na GitHubu.