• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何在解析无名JSONObject的JSONArray时停止for循环?

Android 来源:B. Money 6次浏览

我想解析一个JSONArray,其中包含JSONObject s,它们没有名称,并且其阵列中的(index int)位置每周都在更改。我试图通过它的属性来解析特定的Object,但是我的解析器只返回数组中的最后一个对象。如何在解析无名JSONObject的JSONArray时停止for循环?

当我想要解析并确定对象的int索引以便进一步解析时,如何停止循环。

try { 
     JSONArray jArray = JSONthing.getJSONfromURL("http://something.com"); 
     String attributeiwant = "abc"; 
     for (int i = 0; i < jArray.length(); i++) { 
      JSONObject alpha = jArray.getJSONObject(i); 
      String attributeparsed = alpha.getString("widget"); 
      if (attributeparsed == attributeiwant) { 
       //determine int index of object, so i can parse other attributes 
       //from same object   

      } 
     } 
     } catch (Exception e) { 
     Log.e("log_tag", "Error parsing data "+ e.toString()); 
     } 

===========解决方案如下:

使用String.equals比较,而不是==字符串

try { 
     JSONArray jArray = JSONthing.getJSONfromURL("http://something.com"); 
     String attributeiwant = "abc"; 
     for (int i = 0; i < jArray.length(); i++) { 
      JSONObject alpha = jArray.getJSONObject(i); 
      String attributeparsed = alpha.getString("widget"); 
      if (attributeparsed.equals(attributeiwant)) { 
       //determine int index of object, so i can parse other attributes 
       //from same object   
       // Get data from JsonObject 
       break; 
      } 
     } 
     } catch (Exception e) { 
     Log.e("log_tag", "Error parsing data "+ e.toString()); 
     } 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)