Используйте Gson , если он находится на бэкэнде JVM.
Кстати, я не совсем понимаю вашу цель сделать id
private
, val
и инициализировать вnull
одновременно.Потому что таким образом он всегда установлен на null
, никогда не изменяется и никогда не читается.поэтому я изменил это на следующее:
data class Person(val name: String, private val id: String? = null)
Затем вы можете использовать Gson для кодирования и анализа объекта:
fun main(args: Array<String>) {
val gson = Gson()
val person = Person("name", "0")
println(person)
val personJson = gson.toJson(person)
println(personJson)
val parsedPerson = gson.fromJson(personJson, Person::class.java)
println(parsedPerson)
}
Вывод:
Person(name=name, id=0)
{"name":"name","id":"0"}
Person(name=name, id=0)