如何使用 sendgrid api 发送 json object 作为 html
How to send json object as html with sendgrid api
我正在尝试使用 sendgrid API 发送电子邮件。我希望消息的 body 包含格式为 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"
}
}
}
}
}
但是电子邮件的 body 看起来像这样:
{
“词汇表”:{
“标题”:“示例词汇表”,
“光泽度”:{
“标题”:“S”,
“光泽列表”:{
“光泽条目”:{
"编号": "SGML",
"SortAs": "SGML",
"GlossTerm": "标准通用标记语言",
“缩写词”:“SGML”,
"缩写": "ISO 8879:1986",
“GlossDef”:{
"para": "一种 meta-markup 语言,用于创建标记语言,例如 DocBook。",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "标记"
}
}
}
}
}
当我将 json object 字符串化并使用发送网格 API 作为 HTML 发送时,电子邮件 body 只是一个长文本字符串,这很难阅读 :( 我也试过 NPM 包 retty-print-json
所有这些都会产生相同的结果:电子邮件 body 只是一个长文本字符串
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 包装在 <pre></pre>
中,输出应该正确显示。您不需要包来添加换行符,只需在序列化时指定额外的参数 JSON.stringify(obj, undefined, 4)
我正在尝试使用 sendgrid API 发送电子邮件。我希望消息的 body 包含格式为 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"
}
}
}
}
}
但是电子邮件的 body 看起来像这样:
{ “词汇表”:{ “标题”:“示例词汇表”, “光泽度”:{ “标题”:“S”, “光泽列表”:{ “光泽条目”:{ "编号": "SGML", "SortAs": "SGML", "GlossTerm": "标准通用标记语言", “缩写词”:“SGML”, "缩写": "ISO 8879:1986", “GlossDef”:{ "para": "一种 meta-markup 语言,用于创建标记语言,例如 DocBook。", "GlossSeeAlso": ["GML", "XML"] }, "GlossSee": "标记" } } } } }
当我将 json object 字符串化并使用发送网格 API 作为 HTML 发送时,电子邮件 body 只是一个长文本字符串,这很难阅读 :( 我也试过 NPM 包 retty-print-json
所有这些都会产生相同的结果:电子邮件 body 只是一个长文本字符串
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 包装在 <pre></pre>
中,输出应该正确显示。您不需要包来添加换行符,只需在序列化时指定额外的参数 JSON.stringify(obj, undefined, 4)