Новый для Python, и я не уверен, что он правильно кодирует мой запрос как JSON. Я пытаюсь получить доступ к определенным элементам в JSON. Это то, что у меня есть:Доступ к вложенным элементам JSON в Python
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']
Я был в состоянии получить эту работу в другой ситуации, но ни один из данные были вложенными, что, по-видимому, является разницей здесь.
'jsonvar [ 'сон'] [ 'isMainSleep']' ' –
isMainSleep' находится в словаре вложен в список, вложенный в другой словарь. Вы хотите 'jsonvar [u'sleep] [0] [u'isMainSleep ']'. Обратите внимание на 'u' спереди, потому что это строки unicode и' [0] ', потому что это первый элемент в списке. Возможно, вы захотите добавить некоторую проверку ошибок. – solarc
@solarc ваше предложение сработало! Однако, поскольку его просто комментарий я не могу принять его в качестве ответа. Есть ли лучший способ вывода этих данных, чтобы он действительно был в формате JSON? –