我正在回复此
{
"success": 1,
"message": "some message",
"data": [
{
"comment_id": "43906",
"comp_id": "116725",
"user_id": "48322",
"agree": "0",
.....
"replies": [....]
},
{
"comment_id": "43905",
"comp_id": "116725",
"user_id": "48248",
"agree": "0",
.......
"replies": [...]
}
]
}
我将在json数组中获得所有响应,如此
JSONObject js =new JSONObject(response);
routeJsonArray.=js.getJSONArray("data");
但我需要反转数据数组内的所有对象。换句话说,当我得到响应并打印commant_id" 43906"," 43905",
但是我需要反转那些对象,这样当我打印它时,首先给出" 43905"," 43906",
有从i = routeJsonArray.length; i > 0; i--
迭代的解决方案但是我不想要这个。我想将反向数组存储在另一个数组中..
我试试这个。
String [] routeStationString;
JSONArray localJsonArray = js.getJSONArray("data");
routeStationString = new String[localJsonArray.length()];
int k = 0;
for (int i = localJsonArray.length(); i > 0; i--) {
routeStationString[k++] = localJsonArray.getJSONObject(i);
}
System.out.println(routeStationString);
它给出了错误。?
答案 0 :(得分:5)
我的方法是创建一个表示数组注释的Java模型,然后继续这样做。
ArrayList<Comment> mList = new ArrayList<Comment>();
for(int i=0;i<routeJsonArray.length();i++){
//get the jsonobject based on the position
//retrieve its values
//create a new comment object and store it to the mList
}
Collection.reverse(mList);
答案 1 :(得分:4)
您通常希望将此数组解析为POJO(模型)。因此,我的想法是获得一个List<Comment> list
,然后您就可以通过Collections.reverse(list)
方法撤消该列表。
如何使用JSON数组中的数据?你还需要迭代它,还要记住键和一切。最典型的解决方案是将JSON数据解析为java对象。
答案 2 :(得分:0)
JSONArray toReturn = new JSONArray();
int length = jsonArray.length()-1;
for(int i =length; i >= length;i--){
try {
toReturn.put(jsonArray.getJSONObject(i));
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(this, "Something wrong", Toast.LENGTH_SHORT).show();
}
}