2015-04-07 76 views
1

我解析json列表视图..数据解析很好,但是在数组适配器类中存在一些问题,因为它没有相应地显示视图。列表视图不显示相应的数据,当解析json

public void parseJson(JSONObject json) { 
    try { 
      JSONArray posts = json.getJSONArray("resume"); 
      feedList = new ArrayList<JsonItem>(); 
      for (int i = 0; i < posts.length(); i++) { 
       JSONObject post = (JSONObject) posts.getJSONObject(i); 
       JsonItem item = new JsonItem(); 
       JSONArray cast = post.getJSONArray("Education"); 
       Log.i("lenght", Integer.toString(cast.length())); 
       if (cast != null && cast.length()>0) { 
        for(int j =0 ;j<cast.length();j++){ 
        JSONObject casts = (JSONObject)cast.getJSONObject(j); 
         item.setTitle(casts.getString("Title")); 
         feedList.add(item); 
         Log.i("feedsize", feedList.get(j).toString()); 
       } 
      } 
     } 
    }catch(JSONException e){ 
     e.printStackTrace(); 
} 

JSON数组:

{ 
    "resume":[ 
     { 
      "Education":[ 
       { 
        "Title":"Post Graduation", 
        "Degree":"M. Tech." 
       }, 
       { 
        "Title":"Graduation", 
        "Degree":"B. Tech." 
       } 
      ] 
     } 
    ] 
} 

我这个数组有两个头衔:毕业后毕业

但在布局出它显示只有一个值:毕业

output

回答

1

实例化内部循环,而不是外部,这样您JsonItem对象:

public void parseJson(JSONObject json) { 
try { 
     JSONArray posts = json.getJSONArray("resume"); 
     feedList = new ArrayList<JsonItem>(); 
     for (int i = 0; i < posts.length(); i++) { 
      JSONObject post = (JSONObject) posts.getJSONObject(i); 

      JSONArray cast = post.getJSONArray("Education"); 
      Log.i("lenght", Integer.toString(cast.length())); 
      if (cast != null && cast.length()>0) { 
       for(int j =0 ;j<cast.length();j++){      

        JsonItem item = new JsonItem(); 

        JSONObject casts = (JSONObject)cast.getJSONObject(j); 
        item.setTitle(casts.getString("Title")); 
        feedList.add(item); 
        Log.i("feedsize", feedList.get(j).toString()); 
       } 
      } 


     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
} 
+0

太感谢你了.. – Mohit