繁体   English   中英

如何使用 sendgrid api 发送 json object 作为 html

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM