我想解析一个 JSONArray
,其中包含没有名称的 JSONObject
,并且其 (index
int) 在数组中的位置每次都会更改一周左右。我试图通过它的属性来解析特定的 Object
,但我的解析器只返回数组中的最后一个 Object。
当循环到达我要解析的对象并确定对象的 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());
}
关于android - 在为无名 JSONObject 解析 JSONArray 时如何停止 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11733178/