首页 > 解决方案 > 当此 JSONArray 存在但未知时如何获取 JSONArray

问题描述

我需要从 JSONArray “命中”中获取 JSONObject:

{
    "total":28829,
    "totalHits":500,
    "hits":[
        {
            "id":3063284,

我这样做:

JSONArray jsonarray = response.getJSONArray(“hits”);

一切都很好,但是当我不知道 JSONArray 的名称时该怎么办?

我试着这样写:

JSONArray jsonarray = response.getJSONArray(); 

但它说 () 不能为空。但是当我不知道JSONArray名称但它存在时我应该写什么????可能吗?

请帮助我,我在stackoverflow和其他资源中找不到任何信息......

标签: androidarraysjsonandroid-volley

解决方案


您可以查看JSON 对象文档。它显然需要您尝试获取 JSONArray 的键名。

如果你不知道键名,那么你可以简单地做这样的事情。

  val jsonVal = "{\"total\":28829, \"hits\":[ { \"id\":3063284 }]}"
    val jsonObj = JSONObject(jsonVal)
    
    val iterator = jsonObj.keys()
    while (iterator.hasNext())
    {
       val key = iterator.next()
       if(jsonObj.get(key) is JSONArray)
       {
          // Your JSON Array is here.......
          val jsonArray = jsonObj.get(key)
          print(key)
          print(Your JSON Array here)
       }
   }

我希望你能把上面的代码转换成 JAVA 版本。


推荐阅读