JSONObject .key()无法在ics

时间:2017-04-27 10:20:32

标签: java android json iterator

我有一个扁平的json ......所以我使用这种方法按照许多人的建议进行迭代..

JSONObject preferencesJSON = new JSONObject(dataString);
        Iterator<String> keysIterator = preferencesJSON.keys();
        while (keysIterator.hasNext()) {
            String keyStr = (String) keysIterator.next();
            String valueStr = preferencesJSON.getString(keyStr);
            Log.e("WEB",valueStr);

        }

它在棒棒糖及以上工作正常..意味着我可以迭代循环中的所有对象..但在棒棒糖下面我只得到一个对象。

enter image description here

更新调查结果:

当我收到json字符串时,我会这样:     { “数据”:{ “c_1149436”:{“康特

但是当我使用JSONObject = new JSONObject(jsonstring)时; 打印时我得到这个:     { “总”:269, “数据”:{ “c_1149436”

1 个答案:

答案 0 :(得分:0)

尝试使用以下代码;

  private void parseJsonData1(String jsonResponse) {
        try {
            JSONObject jsonObject = new JSONObject(jsonResponse);
            if(jsonObject!=null) {
                JSONObject objData = jsonObject.optJSONObject("data");
                if(objData!=null)
                {
                    Iterator<String> iterator = objData.keys();
                    while(iterator.hasNext()){
                        String key =iterator.next();
                        JSONObject cData = objData.optJSONObject(key);
                        Log.e("WEB","value:="+cData);
                    }

                }
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }