【发布时间】:2021-05-04 21:10:19
【问题描述】:
我被困在可能有一个简单解决方案的地方。
我有一个列表的字符串表示形式,如下所示:
"[[1, 2, 3], [4, 5, 6]]"
换句话说,一个包含 2 个 3 个整数列表的列表
Kotlin中如何将字符串转换为List的列表对象?
【问题讨论】:
标签: json list kotlin json-deserialization listof
我被困在可能有一个简单解决方案的地方。
我有一个列表的字符串表示形式,如下所示:
"[[1, 2, 3], [4, 5, 6]]"
换句话说,一个包含 2 个 3 个整数列表的列表
Kotlin中如何将字符串转换为List的列表对象?
【问题讨论】:
标签: json list kotlin json-deserialization listof
您可以使用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'
【讨论】: