2013-01-02 184 views
0

我正在使用JSon響應來解析標題,日期內容和縮略圖圖像,並將其放置在listview中。我解析了標題,日期,內容和名稱,這些都是在listview中獲得的,但是當我包含縮略圖圖像時,json在循環中解析以在listview中顯示。輸出中沒有顯示任何內容。任何人都可以幫助我解析json響應。 JSON這裏responseis如何解析此JSON響應

//json response to parse 
{ 
"status": "ok", 

"posts": [ 
    { 
     "id": 2498, 
     "title": "jigsaw lamp imported from thailand", 
     "content": "<p>Hi. It&#8217;s a invitation to have a look at a unique lamp shade called jigsaw lamp from thailand. Available in multi attractive colours.</p>\n", 
     "date": "2012-12-26 09:48:15", 
     "author": { 
      "name": "Tapas123456", 
         }, 
      "attachments": [ 
      { 
       "description": "", 
       "caption": "", 
       "mime_type": "image/jpeg", 
       "images": { 

        "thumbnail": { 
         "url": "http://site/wp-content/uploads/2012/12/646675-50x47.jpg", 

        } 
       } 
      },............... 

下面的代碼是用來添加圖像和數據的ListView

public class CustomizedListView extends Activity { 
JSONArray posts = null; 

// All static variables 
static final String URL = "website/ads/?json=get_recent_posts"; 



    static final String KEY_POSTS = "posts"; 
    static final String KEY_ID = "id"; 
    static final String KEY_TITLE = "title"; 
    static final String KEY_DATE = "date"; 
    static final String KEY_CONTENT = "content"; 
    static final String KEY_AUTHOR = "author"; 
    static final String KEY_NAME = "name"; 
    static final String KEY_ATTACHMENTS = "attachments"; 
    static final String KEY_SLUG = "slug"; 
    static final String KEY_THUMB_URL = "thumbnail"; 
    static final String KEY_IMAGES = "images"; 
    static final String KEY_URL = "url"; 

ListView list; 
    LazyAdapter adapter; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 


    ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>(); 


    // Creating JSON Parser instance 
      JSONParser jParser = new JSONParser(); 

      // getting JSON string from URL 
      JSONObject json = jParser.getJSONFromUrl(URL); 
      try { 
     JSONArray posts = json.getJSONArray(KEY_POSTS); 
     JSONArray attachments = json.getJSONArray(KEY_ATTACHMENTS); 
    // looping through all song nodes <song> 
      for(int i = 0; i < posts.length(); i++){ 
       JSONObject c = posts.getJSONObject(i); 
       // Storing each json item in variable 
       String id = c.getString(KEY_ID); 
       String title = c.getString(KEY_TITLE); 
       String date = c.getString(KEY_DATE); 
       String content = c.getString(KEY_CONTENT); 

       //authornumber is agin JSON Object 
       JSONObject author = c.getJSONObject(KEY_AUTHOR); 
       String name = author.getString(KEY_NAME); 

       //loop     
       for(int j = 0; j < attachments.length(); j++){ 
        JSONObject d = attachments.getJSONObject(j); 
        String slug = c.getString(KEY_SLUG); 

        JSONObject images = d.getJSONObject(KEY_IMAGES); 

        JSONObject thumbnail = images.getJSONObject(KEY_THUMB_URL); 
        String url = thumbnail.getString(KEY_URL); 

     // creating new HashMap 
     HashMap<String, String> map = new HashMap<String, String>(); 

     // adding each child node to HashMap key => value 
     map.put(KEY_ID, id); 
     map.put(KEY_TITLE, title); 
     map.put(KEY_DATE, date); 
     map.put(KEY_NAME, name); 
     map.put(KEY_CONTENT, content); 
     map.put(KEY_SLUG, slug); 
     map.put(KEY_URL, url); 


     // adding HashList to ArrayList 
     songsList.add(map); 
      } } 
      } catch (JSONException e) { 
       e.printStackTrace(); 

       } 


    list=(ListView)findViewById(R.id.list); 

    // Getting adapter by passing json data ArrayList 
    adapter=new LazyAdapter(this, songsList);   
    list.setAdapter(adapter); 


    // Click event for single list row 
    list.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, 
       int position, long id) { 


     } 
    });  
} 
    } 
+0

回答將被接受我沒有得到正確的答案我以前的問題 – Tycoon

+0

我懷疑你收到的所有答案都是錯誤的:http://stackoverflow.com/users/1784844/arun-a?tab=questions&sort=votes – Snicolas

+0

沒有錯誤的答案哥們我用你的答案,但它沒有爲我工作 – Tycoon

回答

0

attachement裏面後數組中JSON,但在代碼中,你保留了它的外部for循環帖子。請將其保留在每個帖子中以獲取每個附件。

嘗試按照以下圖像申請並交叉驗證實施。

enter image description here

希望這會幫助你。

+0

在循環內放置附件,然後不工作 – Tycoon

+0

你的json格式是錯誤的。「url:」http:// site/wp-content/uploads /2012/12/646675-50x47.jpg「,'刪除網址後的逗號。 –

+0

中等小圖片url的旁邊有那麼所以我編輯這些東西 – Tycoon