按照json

时间:2017-01-15 01:34:58

标签: java android json

嘿,我想通过json中的id对新项目进行排序 我希望新项目位于列表顶部的apear 我正在使用此代码

try {
    JSONObject mainJson = new JSONObject(result);
    JSONArray jsonArray = mainJson.getJSONArray(Constant.ARRAY_NAME);
    JSONObject objJson = null;

    for (int i = 0; i < jsonArray.length();  i++) {
        objJson = jsonArray.getJSONObject(i);

        ItemWallpaper objItem = new ItemWallpaper();

        objItem.setWallId(objJson.getString(Constant.WALL_ID));
        objItem.setWallImage(objJson.getString(Constant.WALL_IMAGE));

        arrayOfLatestImage.add(objItem);
    }
} catch (JSONException e) {
    e.printStackTrace();
}

for(int j=0;j<arrayOfLatestImage.size(); j++)
{
    objAllBean=arrayOfLatestImage.get(j);

    allListImage.add(objAllBean.getWallImage());
    allArrayImage=allListImage.toArray(allArrayImage);

    allListId.add(objAllBean.getWallId());
    allArrayId=allListId.toArray(allArrayId);
 }

2 个答案:

答案 0 :(得分:1)

我不完全理解您的代码。但我假设你只想要按ItemWallpaper对象的wallId排序的arrayOfLatestImage

您正在寻找的关键字是&#34; comperator&#34;在java中。 摘自Java Comparator class to sort arrays

的小例子
Arrays.sort(twoDim, new Comparator<int[]>() {
  @Override
  public int compare(int[] o1, int[] o2) {
      return ((Integer) o2[0]).compareTo(o1[0]);
  }
});

点击此处了解更多信息 https://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html

答案 1 :(得分:0)

只需编写一个比较ItemWallpaper个对象的比较器。请查看此链接以获取更多信息:https://developer.android.com/reference/java/util/Comparator.html