"CSS Basics (2014)" was retired on July 12, 2021. You are now viewing the recommended replacement.

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

getting the rest of the shows in the json array?

Not sure but its saying that the shows string cant be converted and im not sure what it needs as the next parameter in the Log.i tag since its not working with the string.

CodeChallenge.java
// JSONObject 'jsonData' was loaded from data.json

JSONArray jsonShows = jsonData.getJSONArray("shows");

  for (int i = 0; i < jsonShows.length(); i++) {
    JSONObject shows = jsonShows.getJSONObject(i);
    Log.i("CCodeChallenge",);
  }
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
        }
    ]
}

5 Answers

Here is the answer:

JSONArray jsonShows = jsonData.getJSONArray("shows");

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

That did not work?

can you copy here what is the task?

The data in the file data.json has been loaded into a JSONObject named jsonData. Using data.json as your guide, create a JSONArray object named jsonShows and set it to the array of shows from data.json using the jsonData object.

I figured out the problem thanks for the help though.

// JSONObject 'jsonData' was loaded from data.json

JSONArray jsonShows = jsonData.getJSONArray("shows");

for (int i = 0; i < jsonShows.length(); i++) { JSONObject shows = jsonShows.getJSONObject(i); Log.i("CodeChallenge"); }

Firs of all dont forget to delete the extra "C" in the "CCodeChallenge" If I remember right. you need to put: shows + " ". and it will work for you.