[英]How to send json object as html with sendgrid api
我正在尝试使用 sendgrid API 发送 email 消息。 我希望邮件正文包含格式为 HTML 的 json object。
{
"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"
}
}
}
}
}
但是 email 的主体看起来像这样:
{“词汇表”:{“标题”:“示例词汇表”,“GlossDiv”:{“标题”:“S”,“GlossList”:{“GlossEntry”:{“ID”:“SGML”,“SortAs”: “SGML”,“GlossTerm”:“标准通用标记语言”,“Acronym”:“SGML”,“Abbrev”:“ISO 8879:1986”,“GlossDef”:{“para”:“一种元标记语言,用于创建标记语言,例如 DocBook。", "GlossSeeAlso": ["GML", "XML"] }, "GlossSee": "markup" } } } } }
When I stringify a json object and send as HTML with the sendgrid API, the email body is just one long text string, which is difficult to read:( I also tried NPM package retty-print-json
所有这些都产生相同的结果:email 主体只是一个长文本字符串
字符串化
let html = stringify.JSON(getStats);
const msg = {
to: 'foo@foo.com',
from: 'foo@foo.com',
subject: datasetTitle,
html: html
}
漂亮的打印Json
let html = prettyPrintJson.toHtml(getStats);
const msg = {
to: 'foo@foo.com',
from: 'foo@foo.com',
subject: datasetTitle,
html: html
}
HTML 默认情况下包含换行符和折叠的空格。 将印刷精美的 JSON 包裹在<pre></pre>
中,并且应该正确呈现 output。 您不需要 package 来添加换行符,只需在序列化JSON.stringify(obj, undefined, 4)
时指定额外的参数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.