Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用sendgrid api以html形式发送json对象_Javascript_Node.js_Sendgrid_Sendgrid Api V3 - Fatal编程技术网

Javascript 如何使用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"

我正在尝试使用sendgrid API发送电子邮件。我希望消息体包含一个格式化为HTML的json对象

{
    "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)时指定额外的参数即可

您能澄清一下您想要的最终结果是什么吗?