1

我坚持可能有一个简单的解决方案。

我有一个列表的字符串表示形式,如下所示:

"[[1, 2, 3], [4, 5, 6]]"

换句话说,一个包含 3 个整数的 2 个列表的列表

如何在 Kotlin 中将字符串转换为 List<List> 的列表对象?

4

1 回答 1

0

您可以使用kotlinx.serialization反序列化 JSON!

作为一个独立的 Kotlin 脚本:

@file:DependsOn("org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.0")

import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json

val s = "[[1, 2, 3], [4, 5, 6]]"
val j = Json.decodeFromString<List<List<Int>>>(s)

println(j)         // [[1, 2, 3], [4, 5, 6]]
println(j[0][0])   // 1

在 Android 应用程序中build.gradle,您需要这些行而不是@file:DependsOn

dependencies {
    implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.0'
}

apply plugin: 'kotlinx-serialization'
于 2021-05-04T22:10:55.997 回答