У меня возникают некоторые проблемы с анализом моего сообщения AWS SQS при получении сообщения.
Моя главная проблема заключается в том, что, хотя оно выглядит как строка, оно также хочет действовать как объект.
Пока что я просто пытался разобрать сообщение, так что было много console.log()
и typeof
.
sqs.receiveMessage(params, (err, data) => {
if (err) console.log(err, err.stack);
else {
messages = data;
console.log(typeof messages.Messages[2].Body); // #2
let validMessage = JSON.parse(messages.Messages[2].Body); // #1
console.log(`validMessage: ${validMessage}`); // Just doesn't print out
console.log(typeof validMessage); // Errorr with #1
console.log(messages.Messages[2]); // gives #3 below
}
});
1:
SyntaxError: Unexpected token o in JSON at position 1
at JSON.parse (<anonymous>)
2:
string
3:
{ MessageId: '2afe328d-0b23-4f21-82c5-47563cd994ef',
ReceiptHandle:
'AQEB4Giu1whgf6He9cJZVCNBzyfbIPPWlS5HOMLwsyC2lLODJbOudVIdLAx0R9U//XHP9CFr1xhycGzdFXPM1gkHRFf004G1AyqkuB1VPRd/RoQGDcJ9yiKw94b6L7i4VWqbCGdr0Dnz0IMw7ze+C69lE1+TD02L28crHscx+IuWdGKpFq79lOJjpbXfmYv4LP/m1fG3aWyRphKkgtFT/eOCpzqLbGn1Gq6h8RBxo7rexGW5SiNw9F/gVPVTpAWuJolOXv9duAzu8FF7rMnBl2bFjEbLirDtg1RwZtXdG64YsJF2pVwlWrAsx26W06GJocXI',
`MD5OfBody: '1441a7909c087dbbe7ce59881b9df8b9',`
`Body: '[object Object]' } `
I 'Я не уверен, что я делаю неправильно, а также почему он работает неправильно.В Body
сообщения есть только два свойства: электронная почта и токен.Я хочу получить доступ к обоим.
Что касается ожидаемого результата, я ожидаю, что смогу получить доступ к электронной почте, выполнив console.log(messages.Messages[i].Body.email)
, и оно должно быть равно john.doe@example.com
.