kotlin - Kotlin将String转换为Iterable

标签 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.?

最佳答案

简而言之,不...有点。

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

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

它不像toString()那样容易使用,但这是可以预期的,因为toStrings的目的与序列化有很大不同。

关于kotlin - Kotlin将String转换为Iterable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49724226/

相关文章:

kotlin - 如何将 concat 与 lambda 和 ObservableSource 一起使用

java - 安卓工作室 3.0 "JUnit version 3.8 or later expected"

android - Ktor:发送响应后删除临时文件

kotlin - 使用适用于桌面的 Kotlin 多平台进行 http 请求

android - Android 数据绑定(bind)的 Kotlin 问题

java - Kotlin + Dagger 2 : Execution failed for task ':app:kaptDebugKotlin'

java - graphql-java 嵌套解析器在不同的线程中执行,具有不同的 Spring 安全上下文

android - 如何在 RxJava 2 和 Kotlin 中将 null 传递给具有可空类型的 Observable

java - HTML 到文本,带有自定义链接点击监听器

kotlin - 使用Kotlin函数作为Java SAM类型