[英]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.