[英]How do I parse an object coming back from AWS SES SDK in JavaScript?
I'm trying to use AWS SES getIdentityVerificationAttributes via code, and I'm having trouble parsing the object coming back.我正在尝试通过代码使用 AWS SES getIdentityVerificationAttributes,但无法解析返回的对象。
I've made a mess out of the code below, but AWS says it is coming back as a map, so I tried doing a .get() and it threw an error that .get() is not a function.我把下面的代码弄得一团糟,但 AWS 说它会以地图的形式返回,所以我尝试执行 .get() 并引发错误,即 .get() 不是函数。 So I tried working with Object.entries but still I can't find a good way of returning the VerificationStatus of this object.
所以我尝试使用 Object.entries 但我仍然找不到返回该对象的 VerificationStatus 的好方法。 I expected JSON.Parse(identityVerify) to work, but it doesn't (getting "ERROR SyntaxError: Unexpected token o in JSON at position 1").
我希望 JSON.Parse(identityVerify) 可以工作,但它没有(在位置 1 处得到“错误语法错误:JSON 中的意外标记 o”)。
const isEmailAWSVerified = async (Email) => {
try {
console.log('[isEmailAWSVerified] Email: ', Email);
/*
data = {
VerificationAttributes: {
"myEmail@example.com": {
VerificationStatus: "Success", // Could be "Pending", "Failed"...
VerificationToken: "EXAMPLE3VYb9EDI2nTOQRi/Tf6MI/6bD6THIGiP1MVY="
}
}
}
*/
let identityVerify=
await SES.getIdentityVerificationAttributes(
{Identities: [`${Email}`]})
.promise();
console.log('[isEmailAWSVerified] - identityVerify', identityVerify);
const parsedResponse = JSON.Parse(identityVerify);
const ret = Object.entries(identityVerify.VerificationAttributes).map(([key, val]) => {
let status = '';
if (key === Email) {
const tmp = JSON.Parse(val);
console.log('[isEmailAWSVerified -- Inside Map] tmp: ', tmp);
// status = Object.entries(val).map(([key, val]) => {
// return val;
// });
return status;
}
return '';
})
console.log('[isEmailAWSVerified] - ret', ret);
return ret === 'Success' ? 1 : 0;
} catch ( err) {
console.log('[isEmailAWSVerified] - ERROR', err);
return 0;
}
}
I found a good example in PHP -- How can I translate that to JS?我在 PHP 中找到了一个很好的例子——我怎样才能把它翻译成 JS?
try:
response = self.ses_client.get_identity_verification_attributes(
Identities=[identity])
status = response['VerificationAttributes'].get(
identity, {'VerificationStatus': 'NotFound'})['VerificationStatus']
logger.info("Got status of %s for %s.", status, identity)
except ClientError:
logger.exception("Couldn't get status for %s.", identity)
raise
else:
return status
Actually, we don't need JSON.Parse
, because is an object already.实际上,我们不需要
JSON.Parse
,因为它已经是一个对象。 We can get verification status just by using const status = identityVerify.VerificationAttributes[
${Email} ].VerificationStatus;
我们可以通过使用
const status = identityVerify.VerificationAttributes[
${Email} ].VerificationStatus;
来获得验证状态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.