I've been trying to access the JSON from this API. However, when I run a request to retrieve the JSON I'm met with the following list when I run this code.
const request = require('request');
var url = 'https://api.collegefootballdata.com/rankings?year=2019&week=10&seasonType=regular'
request(url,(err, res, body) => {
if(!err && res.statusCode == 200) {
var obj = JSON.parse(body);
console.log(obj);
}
});
My output:
[
{
season: 2019,
seasonType: 'regular',
week: 10,
polls: [ [Object], [Object], [Object] ]
}
]
My problem here lies in the fact that I want the information from each POLL (5 polls listed as objects in the JSON by following the link, however I cannot figure out how to WORK with this.) For example, I would want to call polls[0].rank to populate a list of the top 25 teams from the poll.
Accessing the arrays of objects inside nested JSON has obviously been a problem for me in Node, and would love to get started on the right foot when working with this project.
-
There's no such thing as a "JSON Object"Andreas– Andreas2020年02月02日 17:26:33 +00:00Commented Feb 2, 2020 at 17:26
-
So how would I go about accessing those tagged as Objects in that array I listed? @AndreasBrett Walton– Brett Walton2020年02月02日 17:31:46 +00:00Commented Feb 2, 2020 at 17:31
-
Not an answer but the same Problem. how-to-parse-nested-json-object-arraysNyhlus– Nyhlus2020年02月02日 17:38:56 +00:00Commented Feb 2, 2020 at 17:38
2 Answers 2
Looking at the JSON, there are 3 separate polls, and each poll has it's own top 25 list in ranks.
obj.polls[0].ranks
obj.polls[1].ranks
obj.polls[2].ranks
ranks is array of objects as well, so if you want to see the school the reference would be
obj.polls[0].ranks[0].school
You can easily examine the JSON, in a browser, using developer tools and Network tab.
3 Comments
obj[0] -- just need to get the root of the problem (pun intended)since polls is an array, I would love to use map
so my code could be
obj.polls.map((pol)=>{
// so you can access the object pol which includes ranks and other proprites
// do whatever you want here
}