Javascript 如何使用sendgrid api以html形式发送json对象
我正在尝试使用sendgrid API发送电子邮件。我希望消息体包含一个格式化为HTML的json对象Javascript 如何使用sendgrid api以html形式发送json对象,javascript,node.js,sendgrid,sendgrid-api-v3,Javascript,Node.js,Sendgrid,Sendgrid Api V3,我正在尝试使用sendgrid API发送电子邮件。我希望消息体包含一个格式化为HTML的json对象 { "glossary": { "title": "example glossary", "GlossDiv": { "title": "S", "GlossList"
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
但是邮件的正文看起来是这样的:
{
“词汇表”:{
“标题”:“示例词汇表”,
“GlossDiv”:{
“标题”:“S”,
“GlossList”:{
“格洛森特里”:{
“ID”:“SGML”,
“架次”:“SGML”,
“GlossTerm”:“标准通用标记语言”,
“首字母缩略词”:“SGML”,
“Abbrev”:“ISO 8879:1986”,
“GlossDef”:{
“para”:“一种元标记语言,用于创建标记语言,如DocBook。”,
“glosssee也”:[“GML”,“XML”]
},
“glossee”:“标记”
}
}
}
}
}
当我对json对象进行字符串化并使用sendgrid API作为HTML发送时,电子邮件正文只是一个很长的文本字符串,很难阅读:(我还尝试了NPM包
所有这些都会产生相同的结果:电子邮件正文只是一个长文本字符串
stringify
let html = stringify.JSON(getStats);
const msg = {
to: 'foo@foo.com',
from: 'foo@foo.com',
subject: datasetTitle,
html: html
}
prettyPrintJson
let html = prettyPrintJson.toHtml(getStats);
const msg = {
to: 'foo@foo.com',
from: 'foo@foo.com',
subject: datasetTitle,
html: html
}
默认情况下,包含换行符的空白在HTML中折叠。将漂亮打印的JSON包装在
中,输出应该正确显示。您不需要包来添加换行符,只需在序列化JSON.stringify(obj,undefined,4)时指定额外的参数即可
您能澄清一下您想要的最终结果是什么吗?