我如何解析这种具有不同名称的 json,或者告诉我如何在回收站视图中显示此响应。 :(

How do I parse this kinda json which has different names , or tel me how do I even display this response in recycler view. :(

{ 
   "code":200,
   "response":{ 
      "Categories":{ 
         "12345":{ 
            "name":"Category1",
            "image":"image1URL"
         },
         "23456":{ 
            "name":"Category2",
            "image":"image2URL"
         },
         "34567":{ 
            "name":"Category13",
            "image":"image3URL"
         },
         "45678":{ 
            "name":"Category14",
            "image":"image4URL"
         },
         "56789":{ 
            "name":"Category15",
            "image":"image5URL"
         }
      }
   }
}

好像里面有所有的uid。我不知道,我需要快速帮助,最后一件事,我不能要求他们修改。

您可以使用 JSONObject(org.json 库)解析对象并迭代 videoCategories 的子元素的键,如下所示:

val videoCategories = JSONObject(jsonString).getJSONObject("response").getJSONObject("videoCategories")
videoCategories.keys().forEach { uuid ->
    Log.v("JSONParsing", "uuid: $uuid")
}

或者,当然,使用其他集合操作(​​如 map)将特定元素转换为模型对象,您可以在回收器视图适配器中使用它:

val videoCategories = JSONObject(jsonString).getJSONObject("response").getJSONObject("videoCategories")
val categories = videoCategories.keys().map { uuid ->
    val categoryObject = videoCateories.getJSONObject(uuid)
    val name = categoryObject.getString("name")
    val image = categoryObject.getString("image")
    Category(uuid, name, image)
}