我如何解析这种具有不同名称的 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)
}
{
"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)
}