[android]ParseResult [JSONArray] 如何?

发布时间: 2017/3/4 4:30:03
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我得到的 JSON 数据。如何使用 JSONArray,当下载和显示图像在 GridView 。怎么可以我做到这一点?我请参阅下载和显示图像在 Android GridView 。它是 JSONObject。

这里是我的代码。

private void parseResult(String result) {
    try {
        JSONObject response = new JSONObject(result);
        JSONArray posts = response.optJSONArray("posts");
        GridItem item;
        for (int i = 0; i < posts.length(); i++) {
            JSONObject post = posts.optJSONObject(i);
            item = new GridItem();
            JSONArray img = post.getJSONArray("img");
            if (null != attachments && attachments.length() > 0) {
                JSONObject attachment = attachments.getJSONObject(0);
                if (img!= null)
                    item.setImage(img.getString("url"));
            }
            mGridData.add(item);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

这里是引用代码,

{
  "status": "ok",
  "count": 45,
  "count_total": 397,
  "pages": 9,
  "posts": [
    {
      "id": 12378,
      "url": "http://stacktips.com/tutorials/android/speech-to-text-in-android",
    },
    {...},
    {...}
  ]
}

这里是我的 JSON,

[
  {
    "id": "95",
    "name": "Cherry",
    "menu": [
      {
        "menu_id": "18",
        "img": "925dd3ad6d50fa5686a82af26515be5d.jpg"
      }
    ]
  },
  {...},
  {...}
]

解决方法 1:

请尝试此代码︰

请参阅代码︰

try{
    JSONObject  object = new JSONObject (result);
    JSONArray jsonArray = object.getJSONArray("posts");
    for(int i=0;i<jsonArray.length();i++){
         JSONObject object = jsonArray.getJSONObject(i);
         String id = object.getString("id");
         String img_url = object.getString("url");

         item = new GridItem();
          if (img_url!= null)
                   item.setImage(img_url);
            mGridData.add(item);
        }
     }
     catch (JSONException e){
           e.printStackTrace();
    }

第二个 JSON

 try{
    JSONArray jsonArray = new JSONArray(result);
    for(int i=0;i<jsonArray.length();i++){
         JSONObject object = jsonArray.getJSONObject(i);
         String id = object.getString("id");
         String name = object.getString("name");

         JSONArray menu = object.getJSONArray("menu");
         for(int j=0;j<menu.length();j++){
             JSONObject menu_object = menu.getJSONObject(j);
             String menu_id = menu_object.getString("menu_id");
             String image_url = menu_object.getString("img");
             item = new GridItem();
              if (image_url!= null)
                       item.setImage(image_url);
                mGridData.add(item);
            }
        }
     }
     catch (JSONException e){
           e.printStackTrace();
}
官方微信
官方QQ群
31647020