如何在android中显示已解析的JSON数据

时间:2012-08-20 12:23:54

标签: android

我已经解析了JSON数据并将解析后的JSON数据存储到带有键值的ArrayList HashMap中,当我想显示已解析的数据时,我只得到已解析数据的最后一个值,所有数据都不显示供参考

public HashMap<String,String> map = new HashMap<String, String>();
create HASHmap then arraylist
public static ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();
void parsing(JSONObject json)
    {
        String id="";
        String countryn="";
        try
        {
            countryobj = json.getJSONArray("country_details");

     for(int i = 0;i<countryobj.length(); i++)
     {
         JSONObject items = countryobj.getJSONObject(i);

         Log.e("i","value==="+i);

         if(items.has("countryid"))
         {
             id = items.getString("countryid");
             map.put("countryid",id);
             Log.e("id","valueID==="+id);
         }
         if(items.has("country"))
         {
             countryn= items.getString("country");
             map.put("country",countryn);
             Log.e("counyrt","valueName==="+countryn);

         }
         contactList.add(i,map);
         Log.e("lisvaluet","val--"+i +contactList.get(i));


     }



    }
    catch (Exception e) {
        // TODO: handle exception

            e.printStackTrace();
    }

在Log中我得到only 08-20 12:13:45.830: E/--ID---(654): value--{countryid=275, country=Palestinian Territory} with 269 times可以帮助我解决存储解析数据时出错的问题,我被困在这里。

1 个答案:

答案 0 :(得分:0)

检查一下。

private JSONObject[] items;

JSONArray countryobj = json.getJSONArray("country_details");
items = new JSONObject[countryobj.length()];

for(int i=0, i < countryobj.length(); i++)
{
    items[i] = countryobj.optJSONObject(i);
    id = items[i].getString("countryid");
    map.put("countryid",id);

    countryn= items[i].getString("country");
    map.put("country",countryn);

    contactList.add(i,map);
}

enter image description here