Android从json数组中获取元素

时间:2015-04-29 12:37:21

标签: android json

我正在尝试从我的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());

但我得到空名单。我的代码出了什么问题?任何帮助将得到真正的赞赏。感谢。

3 个答案:

答案 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());