最近在做項目,碰到的問題,需要將服務器返回的結果進行json解析然後將其綁定到ListView上,我的json解析代碼如下:
public ArrayList<HashMap<String, String>> analyzeJson(String responseBody,
String arrayName, String objName) throws Exception {
JSONObject json = new JSONObject(responseBody);
JSONArray jArray = json.getJSONArray(arrayName);
if (keys != null && values != null) {
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
for (int i = 0; i < jArray.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
JSONObject e = jArray.getJSONObject(i);
String s = e.getString(objName);
JSONObject jObject = new JSONObject(s);
for (int j = 0; j < keys.length; j++) {
map.put(keys[j], jObject.getString(values[j]));
}
mylist.add(map);
}
}
return null;
}
這樣寫 返回的list 直接可以用於simpleAdapter 中,以上方法在獲取非圖片查詢結果時可以通用,問題是查詢的內容有圖片,圖片在服務器中是以地址的形式存儲的,json解析出來的是圖片的URL, 要想獲取圖片還需要根據URL去獲取圖片,這個時候就不是一個通用的方法, 我現在想做一個通用的解析json的方法,但不知道如何設計,求指點。 像微信好友列表的圖片在服務器端是以地址形式存儲的?
adapter中getView中根據圖片地址下載圖片 ImageView設置圖片