Что я делаю не так?
Клавиша Records
представляет собой список, и вы можете выбирать элементы из списка, используя номер индекса для этого элемента.
json_string = {
"Records": [
{
"messageId": "2953dfd5-d848-42b2-a60b-43df00ec8e5f",
"receiptHandle": "AQEBPMr5RbW3T2DG4pAYi+",
"body": "I am still trying",
"attributes": {
"ApproximateReceiveCount": "1",
"SentTimestamp": "1552073955807",
"SenderId": "944198216610",
"ApproximateFirstReceiveTimestamp": "1552073955816"
},
"messageAttributes": { },
"md5OfBody": "2111a742ddbdac2d862fa6a204f7dc85",
"eventSource": "aws:sqs",
"eventSourceARN": "arn:aws:sqs:us-east-1:944198216610: LambadaQueue",
"awsRegion": "us-east-1"
}
]
}
Итак, когда вы делаете json_string['Records'][0]
, выбирается первый элемент в списке, который снова является словарем:
{
"messageId": "2953dfd5-d848-42b2-a60b-43df00ec8e5f",
"receiptHandle": "AQEBPMr5RbW3T2DG4pAYi+",
"body": "I am still trying",
....}
Теперь, если вы сделаете json_string['Records'][0][0]
, выпытаемся получить доступ к ключу словаря, как элемент в списке (используя индекс номер 0), который является синтаксически неправильным.Вы можете получить доступ к ключу по имени, например, json_string['Records'][0]['messageId']
, если вы хотите получить доступ к значению 'messageId', или, как в вашем вопросе, к значению ключа "body", например:
`json_string['Records'][0]['body']`
#Output:
I am still trying