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

alex gwartney
alex gwartney
8,849 Points

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

Andre Colares
Andre Colares
5,437 Points

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);
  }
roi shaul
roi shaul
3,196 Points

can you copy here what is the task?

alex gwartney
alex gwartney
8,849 Points

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.

alex gwartney
alex gwartney
8,849 Points

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

roi shaul
roi shaul
3,196 Points

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.