Both solutions work well, but if you prefer a more modern, functional approach, try Java Streams:
IntStream.range(0, recs.length())
.mapToObj(recs::getJSONObject)
.forEach(obj -> {
int id = obj.optInt("id", -1);
String loc = obj.optString("loc", "Unknown");
System.out.println("ID: " + id + ", Location: " + loc);
});
- Concise & elegant (especially for large JSON data)
- Avoids index-based looping