将 volley 字符串响应 (List<List<Int>>) 转换为 Kotlin 列表

Convert volley string response (List<List<Int>>) to Kotlin list

我卡在了可能有一个简单解决方案的地方。

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

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

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

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

您可以使用 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'