提问人:Aegletes 提问时间:11/11/2018 更新时间:6/7/2020 访问量:6655
Kotlin JSONArray 到 MutableList<JSONObject>
Kotlin JSONArray to MutableList<JSONObject>
问:
我是 Kotlin 的新手,目前我经常与 JSON 打交道。
我从服务器收到一个 JSON 字符串,我将其解析为如下所示JSONArray
var dataArray = JSONArray(String(resultVar!!))
但据我所知,它并没有真正给我足够的能力来改变它的数据,如果我没记错的话,它迫使我创建一个新的。所以我想我应该使用 ,这似乎已经足够好了,但我找不到将 JSONArray 或 String 解析到其中的方法。JSONArray
JSONArray
MutableList<JSONObject>
如何以简单的方式做到这一点?我是否必须遍历 JSONArray 逐个添加每个 JSONObject?
作为一个附带问题,我应该坚持使用 JSONArray 吗?有没有办法操纵其中的数据?
答:
6赞
Yoav Sternberg
11/12/2018
#1
就目前而言,没有内置方法可以转换为 .
但是,您可以使用 Kotlin 技巧来缩短 java 代码:JSONArray
List
fun JSONArray.toMutableList(): MutableList<JSONObject> = MutableList(length(), this::getJSONObject)
请注意,该值可能不是(但例如)。如果不确定数组仅包含对象,请使用以下方法:JSONArray
JSONObject
JSONArray
fun JSONArray.toMutableList(): MutableList<Any> = MutableList(length(), this::get)
如果您使用的是库而不是 android 库,那么您可以使用 JSONArray.toList(),
它返回一个可以修改的列表。JSON-java
评论
0赞
Aegletes
11/12/2018
非常感谢!
上一个:如何将可变数组划分为可变子数组
评论