代码之家  ›  专栏  ›  技术社区  ›  user1721451

将json解析为Python并按键过滤的问题

  •  -2
  • user1721451  · 技术社区  · 6 年前

    我希望有人能给我指出正确的方向。我对Python比较陌生。我正在使用一个开放的Ergast API,并试图导入/解析一个json文件,并对一些元素进行过滤。我可以毫无问题地打印整个json文件,但是当我尝试在driverId上过滤时,它就失败了。我在这里做错什么了?提前感谢:

    import json
    import requests
    
    response = requests.get("https://ergast.com/api/f1/current/last/results.json?")
    data = response.json()
    print (data["driverId"])
    

    编辑:我得到的答复是:

    Traceback (most recent call last):
      File "python", line 6, in <module>
    KeyError: 'driverId'
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Hari Krishnan    6 年前

    钥匙 driverId 嵌套在数组中 Results 反过来又在里面 Races 反过来又在里面 RaceTable 在里面 MRData

    print(data['MRData']['RaceTable']['Races'][0]['Results'][0]['Driver']["driverId"])
    

    如果你想得到 车道 然后写一个for循环

    for driver in data['MRData']['RaceTable']['Races'][0]['Results']:
        print(driver['Driver']["driverId"])