Я использую приложение node JS для отправки электронной почты с помощью amazon SES, используя ses.sendTemplatedEmail
API
Я также упомянул чистый файл html шаблона для справки, если необходимо
как мне достичь ожидаемого результата? я не знаю, что идет не так и почему он использует scientifi c, если в тесте JSON
указано десятичное число. js
const aws=require('aws-sdk')
const ses = new aws.SES({ apiVersion: "2020-12-01",region:"us-east-1"});
var a = {
"Items": [
{
"timeSinceInactive": 0.00011574074074074075,
"id": "myid1",
"ssid": "myssid",
"deviceName": "devicename1"
},
{
"timeSinceInactive": 0.00009259259259259259,
"id": "myid2",
"ssid": "myssid2",
"deviceName": "devicename2"
}
]
}
b = JSON.stringify(a)
console.log(b)
async function sesSendEmail(b,ses) {
var params = {
Source: "abc@gmail.com",
Template: "mytemplatename",
Destination: {
ToAddresses: ["xyz@gmail.com"] // Email address/addresses that you want to send your email
},
TemplateData: b,
}
try {
await ses.sendTemplatedEmail(params).promise()
}
catch (err) {
console.log(err)
throw new Error(err)
}
};
function setAwsCredentials() {
awsCredentials = {
region: "us-east-1",
accessKeyId: "",
secretAccessKey: ""
};
aws.config.update(awsCredentials);
console.log("Set credentials successfully")
}
setAwsCredentials()
sesSendEmail(b,ses)
шаблон. html
<table border='2' width='1000'>
<tr>
<th>timeSinceInactive</th>
<th>id</th>
<th>ssid</th>
<th>deviceName</th>
</tr>
<thead>
<tr>
{{#each Items.[0]}}
{{/each}}
</tr>
</thead>
<tbody>
{{#each Items}}
<tr>
{{#each this}}
<td>
{{this}}
</td>
{{/each}}
</tr>
{{/each}}
</tbody>
</table>
токовый выход :
timeSinceInactive id ssid deviceName
1.1574074074074075E-4 myid1 myssid devicename1
9.259259259259259E-5 myid2 myssid2 devicename2
желаемый выход
timeSinceInactive id ssid deviceName
0.00011574074074074075 myid1 myssid devicename1
0.00009259259259259259 myid2 myssid2 devicename2
РЕДАКТИРОВАТЬ
Мне также нужно отсортировать данные, поэтому, к сожалению, преобразование их в строку не является реальной альтернативой.
Примечание
Я использую API createTemlate от Amazon SES, который поддерживает рули ... поэтому код html по умолчанию использует рули ... что вызывает проблему при его создании в scientifi c обозначения по какой-то причине, как я могу сделать его только десятичным?