【问题标题】:How to Convert a JSON Object to JSON Array using GSON in Kotlin in Android如何在 Android 的 Kotlin 中使用 GSON 将 JSON 对象转换为 JSON 数组
【发布时间】: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 }

标签: android json kotlin gson


【解决方案1】:

我认为你可以通过简单地使用拆分对象值来做到这一点,如下所示 jsonObject.toString().split(",") 其返回的字符串列表。 如果你想迭代每个值,那么你可以使用下面的代码

  val jsonArray = jsonObject.toString().split(",")
    for (element in jsonArray){
        Log.i(TAG, "doSomeWork: $element")
    }

也可以像这样转换成列表:-jsonArray.toList()

希望对你有所帮助

【讨论】:

  • 如果json只有一个元素就不行了{"USDAED": 3.672982}
猜你喜欢
  • 2016-08-07
  • 2016-05-07
  • 2012-02-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
  • 1970-01-01
  • 2015-03-09
相关资源
最近更新 更多