Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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);

}