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 trialMario Zamora
1,396 PointsHow to create variables based on a json file ?
Good afternoon,
I was having a good progress in my learning about JSON, however i don't know what am i doing wrong in this exercise.
Challenge Task 1 of 1
The data in the file data.json has been loaded into a JSONObject named jsonData. Using data.json as your guide, create String variables named name, publisher, and language and set them to the appropriate values from data.json using the jsonData object.
What i'm doing in code is as follows:
JSONObject forecast = JSONObject(jsonData); String name = forecast.getString("Treehouse Book Series"); String publisher = forecast.getString("Wiley"); String language = forecast.getString("English");
Thanks so much for your remarks :)
// A JSONObject variable named 'jsonData'
// was loaded from the data.json file.
{
"name":"Treehouse Book Series",
"publisher":"Wiley",
"language":"English",
"books":[
{
"title":"HTML5 Foundations",
"author":"Matt West",
"pages":384
},
{
"title":"CSS3 Foundations",
"author":"Ian Lunn",
"pages":352
}
]
}
2 Answers
Seth Kroger
56,414 PointsFirst, since you're told jsonData is already a jsonObject, you don't need to create anyother one. Second, in using getString() you need to use it with the property name, not the value. In JSON the data for an object is written as a list of key/value pairs (property name is the same thing as a key) "key": "value"
where the key/property is used to look up the value.
Mario Zamora
1,396 Pointsthanks a lot Seth.
Good day. I already pass this drill succesfully. My mistake was exactly what you said in previous comments. The right code is:
String name = jsonData.getString("name"); String publisher = jsonData.getString("publisher"); String language = jsonData.getString("language");
Regards :)