我从foursquare解析json响应。有一些json对象丢失了所以我抓住了它。但是如果发生异常,你如何继续for循环;
if (length > 0) {
for (int i = 0; i < length; i++) {
JSONObject venueObject = venues.getJSONObject(i);
String id = venueObject.getString("id");
String name = venueObject.getString("name");
JSONObject location = venueObject.getJSONObject("location");
String lat = String.valueOf(location.getDouble("lat"));
String lng = String.valueOf(location.getDouble("lng"));
HashMap<String, String> venue = new HashMap<>();
venue.put("id", id);
venue.put("name", name);
venue.put("lat", lat);
venue.put("lng", lng);
String address = "";
try {
JSONArray addressArray = location.getJSONArray("formattedAddress");
address = addressArray.getString(i);
} catch (JSONException j) {
address = location.getString("country");
} finally {
venue.put("address", address);
venueList.add(venue);
//continue for loop somehow
}
}
}
答案 0 :(得分:0)
您不需要执行任何操作 - 如果抛出JSONException,则catch和finally块执行,代码继续执行,因此for循环继续。
但有一件事 - 如果您希望缺少某些JSON对象,最好在尝试访问它们之前进行检查,而不是访问它们并捕获异常。