I got the JSON below:
{
"categories": [
{
"category_id": "1960",
"category_name": "England",
"competitions": [
{
"competition_id": "222",
"competition_name": "Premier League"
},
{
"competition_id": "203",
"competition_name": "League One"
},
{
"competition_id": "167",
"competition_name": "Championship"
},
{
"competition_id": "204",
"competition_name": "League Two"
},
{
"competition_id": "307",
"competition_name": "National League"
},
{
"competition_id": "693",
"competition_name": "FA Cup"
}
]
},
{
"category_id": "2007",
"category_name": "Spain",
"competitions": [
{
"competition_id": "14482",
"competition_name": "LaLiga"
},
{
"competition_id": "14982",
"competition_name": "LaLiga 2"
},
{
"competition_id": "989",
"competition_name": "Copa del Rey"
},
{
"competition_id": "38756",
"competition_name": "Primera Division RFEF"
},
{
"competition_id": "19477",
"competition_name": "Second Division B"
}
]
}
]
}
How can I loop through the json using python to get the values of competition_id? I have tried using a for loop but it’s only giving competition id of premier league. Below is the code I wrote
for key in categories:
competitions = key['competitions']
print(competitions)
for key in competitions:
competition_id = key['competition_id']
print(competition_id)
Advertisement
Answer
As @Barmar said, you need to run your inner loop inside of your outer loop:
for key in categories:
competitions = key['competitions']
print(competitions)
for key in competitions:
competition_id = key['competition_id']
print(competition_id)