我有像这样的JSON
{ "video":{
"video_3745":{ },
"video_3437":{ },
"video_3471":{ },
"video_4114":{ }
}
}
其中每一个" video_xxxx"属于SAME类型。有没有办法对待"视频"字段作为该类型的数组?我需要遍历所有视频,但是API并没有将它们发送到数组中,而且我不知道如何建模一个类来接收这个JSON,而无需手动指定所有字段名称...... / p>
GSON或LoganSquare有什么可以帮我解决这个问题吗?
答案 0 :(得分:1)
尝试这样的事情
JSONObject video= json.getJSONObject("video"); // json is the whole response
Iterator x = video.keys();
JSONArray jsonArray = new JSONArray();
while (x.hasNext()){
String key = (String) x.next();
jsonArray.put(video.get(key));
}
答案 1 :(得分:0)
您不能将它们视为数组,但使用org.json.JSONObject
类可以获取键列表并迭代它们。我相信GSON JsonObject.entrySet
方法会允许类似的东西。
https://developer.android.com/reference/org/json/JSONObject.html https://google.github.io/gson/apidocs/com/google/gson/JsonObject.html