Python新手,我不确定我是否正确地将我的请求编码为JSON。我试图能够访问JSON中的特定元素。这就是我所拥有的:
import requests
import json
url = "sample.com"
access_token "xxxxx"
headers = {
'authorization': access_token,
'cache-control': "no-cache"
}
response = requests.request("GET", url, headers=headers)
jsonvar = response.json()
print(jsonvar)
这给了我:
{u'sleep':
[{u'logId': 11208762595,
u'dateOfSleep': u'2016-03-23',
u'isMainSleep': True,
u'startTime': u'2016-03-22T23:43:30.000',
u'restlessCount': 7,
u'duration': 12540000,
u'restlessDuration': 13,
u'minuteData': [{u'value': u'2', u'dateTime': u'23:43:30'},
{u'value': u'1', u'dateTime': u'23:44:30'}],
u'awakeCount': 1,
u'minutesAfterWakeup': 0}],
u'summary':
{u'totalTimeInBed': 418,
u'totalMinutesAsleep': 395,
u'totalSleepRecords': 2}}
我改变了输出,试图让它更具可读性。无论如何,我想将特定的元素值分配给变量,如isMainSleep
等。
我尝试过这样的事情:
myvar = jsonvar['isMainSleep']
我能够让它在不同的情况下工作,但没有数据是嵌套的,这似乎是不同的。
答案 0 :(得分:4)
您只需要沿途访问每个字典。像这样:
myvar = jsonvar['sleep'][0]['isMainSleep']
您可以访问与键sleep
关联的列表,然后是第一个元素,即字典。最后是与键isMainSleep
相关联的值。
请注意,您无需添加前缀' u'在你的钥匙前。
在回答您的评论时,您可以将此输出为json,如下所示:
print json.dumps(myvar)
答案 1 :(得分:1)
此处有嵌套列表和字典,顶级键为def get_venue_link_list(links):
for link in links:
linkset.add(link.get("href"))
return linkset
和sleep
。所以试试summary
。