Javascript (对象)从节点中的JSON请求返回

Javascript (对象)从节点中的JSON请求返回,javascript,json,http,node.js,Javascript,Json,Http,Node.js,我还有一个关于Node的简单问题。我试图向开放式课件搜索API()发出一个简单的http请求,但在解析JSON时遇到了一些问题。。。这通常不是问题。 请求返回一个包含转义字符和斜杠的字符串,因此我对响应字符串运行了replace和unescape,但最终返回类似“[object]”的内容。现在,我真正想做的就是能够看到最终返回的内容,这样我就可以知道是否可以最终将其解析为有效的JSON。不幸的是,这也不起作用。我已经读过几个关于堆栈溢出的类似线程,但是我仍然无法让它工作 我所尝试的: 迭代正在

我还有一个关于Node的简单问题。我试图向开放式课件搜索API()发出一个简单的http请求,但在解析JSON时遇到了一些问题。。。这通常不是问题。 请求返回一个包含转义字符和斜杠的字符串,因此我对响应字符串运行了replace和unescape,但最终返回类似“[object]”的内容。现在,我真正想做的就是能够看到最终返回的内容,这样我就可以知道是否可以最终将其解析为有效的JSON。不幸的是,这也不起作用。我已经读过几个关于堆栈溢出的类似线程,但是我仍然无法让它工作

我所尝试的:

  • 迭代正在传递的对象,因为我认为它应该是具有键值对的对象,并在其上运行,每次都记录它。但是,这会将其打印为字符串:
[

o

b

。。。 一直到最后(])

给定x作为返回的有问题的格式化对象

  • 使用“+x,toString()”尝试将其转换为字符串
  • 根据使用console.log(“%j”,x)
但这些似乎都不起作用,它们都返回给我[对象]

我甚至在JSFIDLE中尝试过: 我正在将console.log替换为alert,它似乎正在重新启动

我的代码:

var request = require('request');$
request('http://www.ocwsearch.com/api/v1/search.json?q=' + skill +     '&contact=http%3a%2f%2fwww.ocwsearch.com%2fabout/',$
  function(error, response, body){$
  if(!error && response.statusCode == 200){~$
      console.log(response.toString().replace(/\\\//g, "/"));$
        var x = response.toString().replace(/\\\//g, "/");$
        console.log(x)$
        console.log(x.keys());$
  }$  
});$
现在,我真正想做的就是能够看到最终返回的内容,这样我就可以知道是否可以最终将其解析为有效的JSON

然后在浏览器窗口中发出请求(使用Chrome,您可以在inspector选项卡中看到返回的实际结果-按F12)

例如:

根据这一点,返回的是有效的JSON。你确定你不是为了自己的利益而太聪明吗


无法将响应写入字符串,因为它是一个对象。您需要返回数据,但我认为body字段符合您的要求。你试过只打印
body

你也可以在body中的键上循环,看看打印出来的是什么(
for(var k in body){console.log(k)}
)确认,我太傻了。工作到深夜,我有时用“反应”来代替“身体”。。。我可能应该更清楚一点,当我试图打印返回的json时,服务器上会打印大量转义斜杠(它转义了原始转义序列。例如,它返回“http:\\/\\/…”)。我试图删除它们,因为它不允许我直接调用属性,即使我直接将它们放到浏览器中,看起来很好。此外,在上面我发布了我无法循环的帖子,虽然我认为这只是我晚上很累,没有意识到我在中间的某个地方将“body”变量更改为“response”,这并没有返回我任何东西…*并没有返回我想看的东西,是的。。。这就是问题所在。。我所要做的就是在body上运行所有内容,然后在body上运行JSON.parse()。我真蠢。。。谢谢很高兴你把问题解决了:D