JSON.stringify缺少属性

时间:2016-02-18 16:45:14

标签: javascript json node.js

我正在编写自定义的console.error函数,以便每次发生错误时都会收到一封电子邮件。要在电子邮件正文中发送错误,请使用JSON.stringify()。问题是它缺少一些属性。请参见下面的两张图片:

电子邮件: Email

在控制台中: in console

以下是我如何使用JSON.stringfy:

JSON.stringify(arguments, null, 4);

我一直在谷歌搜索并发现有同样问题的人,但到目前为止还没有答案。

请问你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

修改:See this

由于您的Error对象位于另一个对象中,因此您可能必须使用2个stringify调用:

JSON.stringify({
0: ...,
1: JSON.stringify({errorObject, ["message", "arguments", "type", "name"]}),
});

或类似的东西。

如果我正确地得到了这个,那么您缺少的信息就在Error对象中。我的猜测是JSON.stringify为其中的每个对象调用.toString()。但是,对于Error对象,toString()函数可能不会返回您想要的所有信息,而不是您在控制台中看到的信息。

也许您必须自己调用Error object's .description()函数。