我有一个JSONobject并且正在使用keys()方法对其进行迭代。但我还需要遍历值,以便能够捕获值的每个部分,这就是我的JSON对象((named Station))的样子:



        {
           "key_1" : {
                     "value_1" : "value_1_data",
                     "value_2" : "value_2_data", }
                },
           "Key_2": {
                    "value_1" : "value_1_data",
                    "value_2" : "value_2_data", }
                   }
        }



我正在使用此方法对其进行迭代:

        Iterator<String> iter = Station.keys();
        while (iter.hasNext()) {
            String key = iter.next();
            try {
                Object value = Station.get(key);
                Log.e("the key: ", key);
                Log.e("the value: ", String.valueOf(value));
            } catch (JSONException e) {
                // Something went wrong!
            }
        }


现在,我需要再次遍历value才能捕获值部分>> value_1value_2中的每个项目。

最佳答案

尝试以下逻辑:

Iterator<String> keys = idObj.keys();

while (keys.hasNext()) {
      String key = keys.next();
      if (idObj.get(key) instanceof JSONObject) {

            Iterator<String> idObjkeys = idObj.getJSONObject(key).keys();

            while (idObjkeys.hasNext()) {
                 String subkey = idObjkeys.next();

            }
      }

      if (idObj.getJSONObject(key).get(subkey) instanceof String) {}

    }


可以使用以上逻辑!

07-24 17:33
查看更多