You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中如何将二维数组格式的字符串转换为字符串数组的数组?

Kotlin解析二维JSON数组字符串的方案

你的这个字符串是标准的JSON格式二维字符串数组,完全不需要手动实现解析逻辑,直接用成熟的JSON序列化/反序列化库就能轻松搞定——手动解析不仅效率低,还容易因为边界情况(比如字符串含特殊字符)出现bug。

下面是几个Kotlin生态中常用的库及实现示例:

1. Gson(Google出品,轻量易用)

首先添加Gradle依赖:

implementation 'com.google.code.gson:gson:2.10.1'

解析代码示例:

import com.google.gson.Gson

fun main() {
    val text = "[[\"1\", \"Steffan\", \"Hibbert\"], [\"2\", \"Shaunie\", \"Barry\"]]"
    val gson = Gson()
    // 直接解析为二维字符串数组
    val data: Array<Array<String>> = gson.fromJson(text, Array<Array<String>>::class.java)
    
    // 验证结果
    data.forEach { row ->
        println(row.joinToString(", "))
    }
}

2. Moshi(Square出品,Kotlin友好)

添加Gradle依赖(基础版):

implementation 'com.squareup.moshi:moshi:1.14.0'

解析代码示例:

import com.squareup.moshi.Moshi
import com.squareup.moshi.Types

fun main() {
    val text = "[[\"1\", \"Steffan\", \"Hibbert\"], [\"2\", \"Shaunie\", \"Barry\"]]"
    val moshi = Moshi.Builder().build()
    // 定义泛型类型(二维数组需要明确参数类型)
    val arrayType = Types.newParameterizedType(Array::class.java, Array::class.java, String::class.java)
    val adapter = moshi.adapter<Array<Array<String>>>(arrayType)
    
    val data = adapter.fromJson(text) ?: emptyArray()
    // 验证结果
    data.forEach { row ->
        println(row.joinToString(", "))
    }
}

3. Jackson(老牌JSON库,功能全面)

添加Gradle依赖(Kotlin适配版):

implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.15.2'

解析代码示例:

import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.fasterxml.jackson.module.kotlin.readValue

fun main() {
    val text = "[[\"1\", \"Steffan\", \"Hibbert\"], [\"2\", \"Shaunie\", \"Barry\"]]"
    val mapper = jacksonObjectMapper()
    // 直接解析为二维字符串数组
    val data: Array<Array<String>> = mapper.readValue(text)
    
    // 验证结果
    data.forEach { row ->
        println(row.joinToString(", "))
    }
}

总结

这三个库都能完美处理你的字符串解析需求,选择哪个取决于项目的现有依赖:如果项目已经在用其中某个库,直接复用即可;如果是新项目,Gson和Moshi的上手门槛更低。

内容的提问来源于stack exchange,提问作者Tomasz Paciorek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 18:35:23