Serialize/Deserialize in kotlin with gson
Table of Contents
1. Serialize/Deserialize in kotlin with gson
1.1. JsonFactory
abstract class JsonFactory {
inline fun <reified T> fromJson(json: String): T {
return Gson().fromJson(json, T::class.java)
}
}
data class Data(
val a: String,
val b: Int
) {
companion object : JsonFactory()
}
val str = "{\"a\": \"hello\", \"b\": 123}"
val data: Data = Data.fromJson(str)
print("data: $data")
inline fun <reified T> String.gson(): T = Gson().fromJson(this, T::class.java)
val d = str.gson<Data>()
print("data: $d")