【问题标题】:convert object to string using JSON.stringify show empty object [duplicate]使用 JSON.stringify 将对象转换为字符串显示空对象 [重复]
【发布时间】:2018-12-09 18:49:00
【问题描述】:

我正在尝试使用 JSON.stringify 将对象转换为字符串,但我得到了空对象

console.log('typeof',typeof e,' e value is',e, 'JSON stringify is',JSON.stringify(e))

我尝试打印时的错误消息

typeof object e value is Error: Error: 发生网络错误(如超时、连接中断或无法访问主机)。 JSON 字符串化是 {}

【问题讨论】:

  • @ManuallyOverridden console.log 是可变参数——您可以传递多个对象,这些对象由, 分隔。
  • 看起来e 是一个错误对象。在节点中,将错误字符串化会导致{}。不确定您是如何运行代码的。
  • @ManuallyOverridden 即使我确实让 a = JSON.stringify(e) 并打印一个我得到空对象..
  • @Mark_M 如何打印错误对象?我想用它串起来并在客户端显示

标签: javascript json string


【解决方案1】:

您的对象e 是一个错误对象。当您尝试字符串化时,您会在 chrome 和 node.js 中获得{}。 Safari 会显示更多信息。

let e = new Error("hello")
console.log(typeof e)
console.log(JSON.stringify(e))

您可以通过以下方式测试错误:

let e = new Error("Some error happened")
if (e instanceof Error) {
  console.log("Error:", e.message)
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 2012-12-08
    • 2020-01-25
    • 2020-11-15
    • 1970-01-01
    相关资源
    最近更新 更多