Я написал этот код:
private ArrayList<HashMap<String, HashMap<Integer, String>>> listContent2 = new ArrayList<HashMap<String, HashMap<Integer, String>>>();
public ArrayList<HashMap<String, HashMap<Integer, String>>> content() {
JSONObject json = JSONfunctions.getJSONfromURL("http://...");
try {
JSONArray hotspots = json.getJSONArray("hotspots");
HashMap<String, HashMap<Integer, String>> mapContentHotspot = new HashMap<String, HashMap<Integer, String>>();
for (int i = 0; i < hotspots.length(); i++) {
JSONObject e = hotspots.getJSONObject(i);
JSONArray actions = new JSONArray(e.getString("actions"));
for (int j = 0; j < actions.length(); j++) {
JSONObject e2 = actions.getJSONObject(j);
HashMap<Integer, String> mapContent = new HashMap<Integer, String>();
switch (e2.getInt("activityType")) {
case 27:
mapContent.put(e2.getInt("activityType"), e2.getString("uri"));
case 2:
mapContent.put(e2.getInt("activityType"), e2.getString("uri"));
case 1:
mapContent.put(e2.getInt("activityType"), e2.getString("uri"));
//default:
//break;
}
mapContentHotspot.put(e.getString("id"), mapContent);
}
listContent2.add(mapContentHotspot);
}
} catch (JSONException e) {
Log.e("log_tag", "Error parsing data " + e.toString());
}
return listContent2;
}
, чтобы взять содержимое этого массива json: http://pastebin.com/bXfwcQ2U Проблема в разделе «действия».Я пытаюсь взять 3 "URI", но я беру только последний (с "ActivityType": "1").Где моя ошибка в моем коде Java?спасибо!