2016-09-09 52 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) –