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

Android Kotlin中如何将JSON数组解析为以索引为键的键值对

解决方案

你需要把links数组转换成索引为键、链接为值的Map,再用Jackson序列化这个Map就能得到你要的键值对形式JSON。

修改后的代码如下:

dataBinding.itemUserControlTvPhone.setOnClickListener {
    val failedQtyMapper = jacksonObjectMapper()
    val links = data?.get(position)?.links ?: emptyList()
    // 将数组转为索引-链接的Map
    val linkMap = links.mapIndexed { index, url -> 
        index.toString() to url 
    }.toMap()
    // 序列化Map得到键值对JSON
    val jsonStr = failedQtyMapper.writerWithDefaultPrettyPrinter()
        .writeValueAsString(linkMap)
    Log.e("jsonString:=", jsonStr)
}

效果说明

原来的数组输出:

["http://www.example.com/reports/ Place Tp 2021-08-17 19_16_29_440.csv"]

修改后会输出:

{
"0" : "http://www.example.com/reports/ Place Tp 2021-08-17 19_16_29_440.csv"
}

如果links里有多个链接,比如["url1", "url2"],会自动生成:

{
"0" : "url1",
"1" : "url2"
}

内容的提问来源于stack exchange,提问作者T B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:30:53