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()//