我正在尝试从我的json数组中获取元素。
这是我的json回复:
{"IDs":["635426812801493839","635429094450867472","635433640807558204"]}
这是我到目前为止所尝试的:
itemList = new ArrayList<HashMap<String, String>>();
JSONArray a = jsonObj.getJSONArray(Constants.IDS);
int arrSize = a.length();
ArrayList<String> stringArray = new ArrayList<String>();
for (int i = 0; i < arrSize; ++i) {
JSONObject obj = a.getJSONObject(i);
stringArray.add(obj.toString());
item = new HashMap<String, String>();
item.put(Constants.ID, obj.toString());
itemList.add(item);
}
Log.e("ARR COUNT", "" + stringArray.size());
但我得到空名单。我的代码出了什么问题?任何帮助将得到真正的赞赏。感谢。
答案 0 :(得分:5)
for循环应该是
for (int i = 0; i < arrSize; ++i) {
stringArray.add(a.getString(i));
您的JSONArray
已包含字符串
答案 1 :(得分:2)
JSONObject obj = a.getJSONObject(i);
替换为
String str = a.getString(i);
答案 2 :(得分:0)
使用此
itemList = new ArrayList<HashMap<String, String>>();
JSONArray a = jsonObj.getJSONArray(Constants.IDS);
int arrSize = a.length();
ArrayList<String> stringArray = new ArrayList<String>();
for (int i = 0; i < arrSize; ++i) {
stringArray.add(a.getString(i));
item = new HashMap<String, String>();
item.put(Constants.ID, obj.toString());
itemList.add(item);
}
Log.e("ARR COUNT", "" + stringArray.size());