我有一个People
的可迭代,我从json转换后保存为string
。我想知道如何将string
转换回列表。
// Save data
val peopleString = myList.toString()
// String saved is
[People(name=john, age=23), People(name=mary, age=21), People(name=george, age=11)]
现在可以将peopleString
转换回列表吗?
val peopleList: List<People> = peopleString.?
答案 0 :(得分:2)
简而言之,不......那种。
您的输出不是 JSON,如果您想要JSON,toString()
是错误的功能。 toString()
的输出不是正确的序列化格式,可以理解并用于重建原始数据结构。
将数据结构转换为某种格式,以便可以传输并稍后重建,称为serialization。 Kotlin有一个序列化程序,可以将对象序列化为多种不同的格式,包括JSON:https://github.com/Kotlin/kotlinx.serialization#quick-example。
它不像toString()
那么容易使用,但是由于toStrings
的目的与序列化非常不同,因此可以预料到这一点。