Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Android Android Lists and Adapters (2015) Updating the Data Model From JSONArray to a Java Array

Ahmed Felifl
Ahmed Felifl
7,436 Points

Could you please help me I do not know why is not working

Finally, write a 'for' loop that loops through jsonShows. In each step of the loop, use getJSONObject(int index) to get a JSONObject from the array. Then use the Log.i() method (with "CodeChallenge" as the tag) to write the show title.

// JSONObject 'jsonData' was loaded from data.json JSONArray jsonShows = jsonData.getJSONArray("shows");

for( int i = 0 ; i < jsonShows.length();i++) { JSONObject title =jsonShows.getJSONObject(i); String doctorWho = title.getString("Doctor Who"); String arrow=title.getString("Arrow"); String portlandi=title.getString("Portlandi"); Log.i("CodeChallenge",TAG);

}

4 Answers

Víctor Hernández
Víctor Hernández
12,276 Points

It works for me!

// JSONObject 'jsonData' was loaded from data.json
JSONArray jsonShows = jsonData.getJSONArray("shows");
for (int i = 0; i < jsonShows.length; i++) {
    JSONObject movie = jsonShows.getJSONObject(i);
    String title = movie.getString("title");
    Log.i("CodeChallenge", title);
}
Ahmed Felifl
Ahmed Felifl
7,436 Points

Thanks for it working fine now

for this code you need to add (), it should be jsonShows.length().

Akym Bonheur
Akym Bonheur
6,198 Points

it will not work. You need the "()" after the jsonShows.length.

You need change information in your "Log".

// call variable name "title" instead of "TAG"
Log.i("CodeChallenge",TAG);
Hay Abadi
Hay Abadi
2,625 Points

it's not, there is still an error: "Bummer! Your loop should run three times and call 'getJSONObject()' each time through

i have a the same problem with this challenge.

JSONArray jsonShows = jsonData.getJSONArray("shows"); for (int i = 0; i < jsonShows.length(); i++) { JSONObject movie = jsonShows.getJSONObject(i); String title = movie.getString("title"); Log.i("CodeChallenge", title); }

Steven Del Rio
Steven Del Rio
17,746 Points
JSONArray jsonShows = jsonData.getJSONArray("shows");

for( int i = 0 ; i < jsonShows.length(); i++){
  JSONObject movie = jsonShows.getJSONObject(i);
  String title = movie.getString("title");
  Log.i("CodeChallenge", title);

}