简体   繁体   English

如何在Java中的JSONobject的迭代工作中进行迭代

[英]How to Iterate inside an iteration work for JSONobject in Java

I have a JSONobject And am using keys() method to iterate over it. 我有一个JSONobject并且正在使用keys()方法对其进行迭代。 but I need to iterate over the values too to being able to catch every part of the value ,, here is how my JSON object ((named Station )) looks like: 但是我也需要遍历值才能捕获值的每个部分,这就是我的JSON对象((命名为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", }
                   }
        }

I'm using this method to iterate over it : 我正在使用此方法对其进行迭代:

        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!
            }
        }

Now I need to loop through the value again to be able to catch every item in the value part >> value_1 and value_2 . 现在,我需要再次遍历该value ,以便能够捕获值部分>> value_1value_2中的每个项目。

Try this logic: 尝试以下逻辑:

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) {}

    }

Above logic can be used! 可以使用以上逻辑!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM