简体   繁体   English

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

[英]Python parsing API response Json body nested data

I am trying to call get api using python and fetch the covid vaccine details and storing into one proper formate.我正在尝试使用 python 调用 get api 并获取 covid 疫苗详细信息并存储到一个适当的甲酸盐中。 Into the same I am able to fetch CENTER data like "center_id,name, address,state_name" but I am not able to fetch the SESSIONS data as below进入同一个我能够获取像“center_id,name,address,state_name”这样的中心数据,但我无法获取如下的会话数据

在此处输入图像描述

Below is how I am parsing the JSON response.下面是我如何解析 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)

It gives me error as below它给了我如下错误

date =dataJ['centers'][i]['date'] KeyError: 'date'日期 =dataJ['centers'][i]['date'] KeyError: 'date'

Can someone please help me in this regard?有人可以在这方面帮助我吗?

You need to do something similar to the sessions array, just like you did with the centers array.你需要做一些类似于sessions数组的事情,就像你对centers数组所做的那样。 See the NEW marked section below:请参阅下面的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']
        # ...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM