Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

How to print specific json data for multiple instances?

import requests

url = "https://api.gametools.network/bf1/players/?gameId=7218126050214"
r = requests.get(url)
data = r.json()
print(data['teams'][1]['players'][0]['name'])
print(data['teams'][1]['players'][1]['name'])
print(data['teams'][1]['players'][2]['name'])
print(data['teams'][1]['players'][3]['name'])
print(data['teams'][1]['players'][4]['name'])
print(data['teams'][1]['players'][5]['name'])
print(data['teams'][1]['players'][6]['name'])
print(data['teams'][1]['players'][7]['name'])
print(data['teams'][1]['players'][8]['name'])
print(data['teams'][1]['players'][9]['name'])
print(data['teams'][1]['players'][10]['name'])
print(data['teams'][1]['players'][11]['name'])
print(data['teams'][1]['players'][12]['name'])
print(data['teams'][1]['players'][13]['name'])
print(data['teams'][1]['players'][14]['name'])
print(data['teams'][1]['players'][15]['name'])
print(data['teams'][1]['players'][16]['name'])
print(data['teams'][1]['players'][17]['name'])
print(data['teams'][1]['players'][18]['name'])
print(data['teams'][1]['players'][19]['name'])
print(data['teams'][1]['players'][20]['name'])

This is a snippet of my code that I think could be really improved to save some space, the issue is I can’t seem to find a way to enumerate all the players name beside doing them one per one like shown above, my goal is to have a list that will show every username for both team of a given server.

I should mention the code is currently working but I feel like there is a much simpler way to obtain the data I need, I did search for these methods but because my data is nested in a list/dictionary I get confused.

Any suggestion is welcome, thank you 🙂

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

Here is how to iterate over a list:

l = [1, 2, 3, 4]

for element in l:
    print(l)

Once you know that, it’s only a matter of breaking nested iteration problems down to their simplest form above. So you just need to get the list which you need to iterate over, and then use the above sample you already know:

l = data['teams'][1]['players']
for element in l:
    print(element['name'])
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading