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
相关产品推荐
相关产品推荐

