Kotlin将String转换为Iterable

时间:2018-04-09 00:49:05

标签: kotlin

我有一个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.?

1 个答案:

答案 0 :(得分:2)

简而言之,不......那种。

您的输出不是 JSON,如果您想要JSON,toString()是错误的功能。 toString()的输出不是正确的序列化格式,可以理解并用于重建原始数据结构。

将数据结构转换为某种格式,以便可以传输并稍后重建,称为serialization。 Kotlin有一个序列化程序,可以将对象序列化为多种不同的格式,包括JSON:https://github.com/Kotlin/kotlinx.serialization#quick-example

它不像toString()那么容易使用,但是由于toStrings的目的与序列化非常不同,因此可以预料到这一点。