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 Using JSONArray

Finally, write a 'for' loop that loops through jsonShows. In each step of the loop, use getJSONObject(int index) to get

where am i missing it?

CodeChallenge.java
JSONArray jsonBooks = jsonData.getJSONArray("books");

for (int i = 0 < jsonShows.length(); i++);
{
  JSONObject book = jsonShows.getJSONObject(i);
  String title = book.getString("title");
  String pages = book.getString("pages");
  Log.i("CodeChallenge", title);
}
data.json
{
    "name":"Netflix Playlist",
    "shows":[
        {
            "title":"Doctor Who",
            "season":8,
            "episode":3
        },
        {
            "title":"Arrow",
            "season":1,
            "episode":10
        },
        {
            "title":"Portlandia",
            "season":4,
            "episode":5
        }
    ]
}

1 Answer

Michael Norman
PLUS
Michael Norman
Courses Plus Student 9,399 Points

Your thought process is correct, you have just made a few syntax mistakes. First, your JSONArray should be named jsonShows as the directions state. Remember when creating a for loop, each piece should be separated by a semicolon and you do not put a semicolon at the end of the conditions.

// Renamed to jsonShows per directions
JSONArray jsonShows = jsonData.getJSONArray("shows");

// added a semi colon after the first condition
for (int i = 0; i < jsonShows.length(); i++) // removed the semicolon at the end of the statement
{
  JSONObject book = jsonShows.getJSONObject(i);
  String title = book.getString("title");
  String pages = book.getString("pages");
  Log.i("CodeChallenge", title);
}