Python解析API响应Json体嵌套数据

2024-06-25 05:48:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用python调用GETAPI,获取新冠疫苗的详细信息,并将其存储到一个适当的格式中。同样,我能够获取中心数据,如“中心id、名称、地址、状态名称”,但我无法获取以下会话数据

enter image description here

下面是我如何解析JSON响应的

dataJ = json.loads(r.text)
for i in range(len(dataJ['centers'])):
    center = dataJ['centers'][i]['name']
    address = dataJ['centers'][i]['address']
    state = dataJ['centers'][i]['state_name']
    district = dataJ['centers'][i]['district_name']
    pin = dataJ['centers'][i]['pincode']
    date =dataJ['centers'][i]['date']
    print(center,"-",address,"-",state,"-",district,"-",pin,"-",date)

它给我的错误如下

日期=数据j['centers'][i]['date'] KeyError:“日期”

有人能在这方面帮助我吗


Tags: 数据name名称dateaddresspin中心center
1条回答
网友
1楼 · 发布于 2024-06-25 05:48:41

您需要执行类似于sessions数组的操作,就像对centers数组所做的操作一样。请参见下面标有NEW标记的部分:

dataJ = json.loads(r.text)
for i in range(len(dataJ['centers'])):
    center = dataJ['centers'][i]['name']
    address = dataJ['centers'][i]['address']
    state = dataJ['centers'][i]['state_name']
    district = dataJ['centers'][i]['district_name']
    pin = dataJ['centers'][i]['pincode']
    date =dataJ['centers'][i]['date']
    print(center,"-",address,"-",state,"-",district,"-",pin,"-",date)

    # NEW: now process each session like you want
    for j in range(len(dataJ['centers'][i]['sessions'])):
        # do what you want with the session here:
        # it's also easier to use variables rather than reproducing the entire index sequence repeatedly
        session = dataJ['centers'][i]['sessions'][j]
        session_id = session['session_id']
        # ...

相关问题 更多 >