2016-09-09 51 views
0

解析從jsonarray和顯示圖像我有這個JSON data如何使用畢加索

我要解析的JSONArray與鍵「IM:映像」,具有圖像的3個環節,用畢加索庫顯示它。

任何想法?提前致謝。

+0

我在這裏澄清,我的問題[鏈接](http://stackoverflow.com/questions/39429158/parsing-jsonarray-to-picasso-library) 如果你不會回答我! –

回答

0

請嘗試以下

try { 
    JSONObject jsonFeed = new JSONObject(your_original_json).getJSONObject("feed"); 
    JSONArray entries = jsonFeed.getJSONArray("entry"); 
    int count = entries.length(); 
    for (int i = 0; i < count; i++) { 
     JSONObject imageJson = entries.getJSONObject(i).getJSONObject("im:image"); 
     // in case you want to get image with height 53 
     String imageUrl = imageJson.getJSONObject("0").getString("label"); 

     // String imageUrl = imageJson.getJSONObject("1").getString("label"); height 75 
     // String imageUrl = imageJson.getJSONObject("2").getString("label"); height 100 
     Picasso.with(context) 
       .load(imageUrl) 
       .into(imageView); 
    } 
} catch (JSONException e) { 
    e.printStackTrace(); 
} 
+0

謝謝你,但你的意思是? 「your_original_json」 –

+0

不客氣。這是url中的長json字符串。 – SaNtoRiaN

+0

它不工作? ! :( –

0

你必須使用的HttpClient從您的網址獲得JSON。下面的代碼。

try{ 

      HttpClient httpclient = new DefaultHttpClient(); 
      HttpPost httppost = new HttpPost("https://itunes.apple.com/jo/rss/topfreeapplications/limit=50/json"); 
      HttpResponse response = httpclient.execute(httppost); 
      HttpEntity entity = response.getEntity(); 
      InputStream weps = entity.getContent(); 
      try { 

       BufferedReader reader = new BufferedReader(new InputStreamReader(weps, "iso-8859-1"), 8); 
       StringBuilder sb = new StringBuilder(); 
       String line = null; 
       while ((line = reader.readLine()) != null) { 
        sb.append(line + "\n"); 
       } 
       weps.close(); 
       result = sb.toString();//result string defined above will store your json. 

      } catch (Exception e) { 
       Log.e("log_tag", "Error Coverting result" + e.toString()); 
      } 
     } catch (Exception e) { 
      Log.e("log_tag", "Error Http connection" + e.toString()); 
      } 

     try { 

      JSONArray entries = new JSONArray(result); 
      int count = entries.length(); 
      for (int i = 0; i < count; i++) { 

      JSONObject imageJson= entries.getJSONObject(i).getJSONObject("im:image"); 
      // in case you want to get image with height 53 
      String imageUrl = imageJson.getJSONObject("0").getString("label"); 

      // String imageUrl = imageJson.getJSONObject("1").getString("label"); height 75 
      // String imageUrl = imageJson.getJSONObject("2").getString("label"); height 100 
      Picasso.with(context)//context variable of the class 
      .load(imageUrl)// url from Json 
      .into(imageView); //your image view object 
      } 
     } catch (Exception e) { 
      Log.e("log_tag", "Error Parsing Dataaaa" + e.toString()); 

     } 
+0

謝謝你的回答,但我如何在這裏使用它? [鏈接](http://stackoverflow.com/questions/39406698/parsing-data-from-json-as-a-collection-of-image-to-picasso/39406947?noredirect=1#comment66139330_39406947) –