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 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.