Convert JSON to kotlin data class and vise versa
JSON (JavaScript Object Notation) is a language independent data format, derived from JavaScript. It is very common data format , with a wide range of applications.
Most of the API provide response in JSON format . In this post I will show you how we can convert JSON to Kotlin Data Class and vise versa.
JSON to Kotlin Data Class
Gold.kt
package np.com.barahasoft.ourbarahakshetra.room.entity import androidx.room.Entity import androidx.room.PrimaryKey @Entity(tableName = "gold") data class Gold ( @PrimaryKey var id: Long? = 0, var gf_name: String? = null, var gt_name: String? = null, var sf_name: String? = null, var gf_price: Float? = null, var gt_price: Float? = null, var sf_price: Float? = null, var date: String? = null )
Conversion Code:
val jsonGoldData = "{"id":"5","gf_name":"Chhapawal","gt_name":"Tejabi","sf_name":"Silver","gf_price":"94800","gt_price":"94300","sf_price":"94300","date":"2020-10-11"}" val gson = GsonBuilder().setLenient().create() var gold = data.getAsJsonObject(jsonGoldData) var tempGold = gson.fromJson(gold, Gold::class.java)
Converting ArrayList to gson string and vise versa
var arrayList = ArrayList<Long>() arrayList.add(1) arrayList.add(2) arrayList.add(3) var strData = Gson().toJson(arrayList)// var temp = Gson().fromJson(strData,Array<Long>::class.java).asList()//