【问题标题】:Javascript Object ResponseJavascript 对象响应
【发布时间】:2026-01-23 21:50:01
【问题描述】:

我正在使用 http-https 节点包调用 RESTful Web 服务。代码如下:

var request = http.get(url, function(resp){
   console.log(resp);       
});
request.end();

但是,当我检查变量 resp 中保存的内容时,它返回为 [Object]。当我请求resp.toString() 时,我得到了“[object Object]”。我知道该服务正在向我返回 JSON,并且我知道 JSON 的结构。但是,我不确定为什么要返回此响应而不是 JSON。

【问题讨论】:

  • 试试console.log(JSON.stringify(resp));。查看标题也可以找到关于“为什么”的线索。请注意,{}.toString() 返回 [object Object] ... 这是预期的
  • 也许你得到一个直接解码的 JSON。
  • 好的,我能够检查标题,并且可以确认它是 200。但是,res 部分有 res: [Circular]。这是我期望我的 JSON 出现的地方。还有另外两个重要的标头字段:'content-type': 'application/json;charset=UTF-8', 'transfer-encoding': 'chunked'。如果我在收到响应后不解析任何内容,这会导致任何问题吗?

标签: javascript json get


【解决方案1】:

这可能是因为,

1) 你得到的是数组 [],而不是响应的对象。

2)如果你确定你得到响应的对象,那么 alert(JSON.stringify(response)) 从响应对象生成字符串,并确保对象不为空。

【讨论】: