2016-01-23 72 views
0

的Android的Java的JSON解析JSON空

{ 
     "ayetler" : [ 
     { 
      "ayet" : { 
      "title" : "(1/96, Alak/1-5)", 
      "body" : "Oluşturan; insanı embriyondan oluşturan Rabbinin adına öğren-öğret!\\n" 
      } 
     }, 
     { 
      "ayet" : { 
      "title" : "(1/96, Alak/15-19)", 
      "body" : "O zaman o, meclisini/örgütünü çağırsın.\\n" 
      } 
    }, 

和Buffer類收益jArray JsonArraySend類

JSONObject object = new JSONObject(result); 
    jArray = object.getJSONArray("ayetler"); 
中的AsyncTask

try { 
    for (int i = 0; i < jsonarray.length(); i++) { 
     JSONObject row; 

     row = jsonarray.getJSONObject(i); 
     JSONPojo item = new JSONPojo(); 

     item.setTitle(row.getString("title").toString()); 
     item.setBody(row.getString("body").toString()); 

     meal_list.add(item); 
    } 
} 
catch (JSONException e) {} 
return meal_list; 

但是,列表視圖空 爲什麼ListView的空 我在哪裏做錯了

+0

如果這是你所有的JSON,它有一個語法錯誤。 –

+0

http://meal.salatgah.com/alak.json無語法錯誤 – Kypdk

+0

它可能會拋出異常,向我們顯示消息System.out.println(e.getMessage); –

回答

0

"title""body"字符串是下"ayet"節點,而不是JSONArray元素。

嘗試這樣的:

try { 
    for (int i = 0; i < jsonarray.length(); i++) { 

     JSONObject obj = jsonarray.getJSONObject(i); 

     JSONObject row = obj.getJSONObject("ayet"); 

     JSONPojo item = new JSONPojo(); 
     item.setTitle(row.getString("title").toString()); 
     item.setBody(row.getString("body").toString()); 

     meal_list.add(item); 
    } 
} 
catch (JSONException e) {} 
return meal_list;