如何在 Android 的 Kotlin 中使用 GSON 将 JSON 对象转换为 JSON 数组
Posted
技术标签:
【中文标题】如何在 Android 的 Kotlin 中使用 GSON 将 JSON 对象转换为 JSON 数组【英文标题】:How to Convert a JSON Object to JSON Array using GSON in Kotlin in Android 【发布时间】:2021-06-18 10:28:02 【问题描述】:您好,我是 Kotlin 和 android 的新手,我想解析 JSONObject
并将其转换为 Array ,
这是我的示例 JSON 的样子
"USDAED": 3.672982,
"USDAFN": 57.8936,
"USDALL": 126.1652,
"USDAMD": 475.306,
"USDANG": 1.78952,
"USDAOA": 109.216875,
"USDARS": 8.901966,
"USDAUD": 1.269072,
"USDAWG": 1.792375,
"USDAZN": 1.04945,
"USDBAM": 1.757305
我想将 JSONObject 存储在 HashMap 中。或者如何在 Kotlin 中迭代 JSON 对象键。
我正在使用 GSON。
如果容易请不要投票,请提供链接。
【问题讨论】:
你可以试试这样val jsonObject = JSONObject("your json string") val keys: Iterator<String> = jsonObject.keys() val map: HashMap<String, String> = HashMap() while (keys.hasNext()) val key = keys.next() val value = jsonObject.getString(key) map[key] = value
【参考方案1】:
我认为你可以通过简单地使用拆分对象值来做到这一点,如下所示
jsonObject.toString().split(",")
其返回的字符串列表。
如果你想迭代每个值,那么你可以使用下面的代码
val jsonArray = jsonObject.toString().split(",")
for (element in jsonArray)
Log.i(TAG, "doSomeWork: $element")
也可以像这样转换成列表:-jsonArray.toList()
希望对你有所帮助
【讨论】:
如果json只有一个元素就不行了"USDAED": 3.672982
以上是关于如何在 Android 的 Kotlin 中使用 GSON 将 JSON 对象转换为 JSON 数组的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Kotlin 的视图绑定在 Android 中缩短此代码?
如何使用kotlin在Android的firebase中获取child的键值