ArrayList <hashmap <string,string =“”>&gt;没有值</hashmap <string,>

时间:2012-07-13 13:06:00

标签: java json string arraylist hashmap

我的ArrayList<HashMap<String, String>> songslist没有值。在我的doInBackground方法中,我有for循环,应填充此ArrayList。字符串“id”,“解释”......也有价值。问题出在哪儿?代码如下:

JSONArray charts = json.getJSONArray(TAG_CHARTS);

                // looping through All Products
                for(int i=0;i<charts.length();i++) {
                    JSONObject json_data = charts.getJSONObject(i);

                    String id = json_data.getString(TAG_ID);
                    String interpret = json_data.getString(TAG_INTERPRET);
                    String titel = json_data.getString(TAG_TITEL);
                    String album = json_data.getString(TAG_ALBUM);
                    String albumcover = json_data.getString(TAG_ALBUMCOVER);
                    String likes = json_data.getString(TAG_LIKES);

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

                    map.put(TAG_ID, id);
                    map.put(TAG_INTERPRET, interpret);
                    map.put(TAG_TITEL, titel);
                    map.put(TAG_ALBUM, album);
                    map.put(TAG_ALBUMCOVER, albumcover);
                    map.put(TAG_LIKES, likes);       

                    songslist.add(map);

                }

但列表为空。 JSONArray包含值。

2 个答案:

答案 0 :(得分:2)

创建地图并将元素放入列表的代码是可以的。所以它要么

1)songslist搞砸了。您没有显示其创建的位置/方式 2)您认为charts中有项目,但事实并非如此。

答案 1 :(得分:2)

你没有进入循环。你发布的代码没问题。 charts.length()== 0