繁体   English   中英

(对象对象)从Node中的JSON请求返回

[英](object Object) returning from JSON request in Node

我还有一个关于Node的简单问题。 我正在尝试向Open Courseware搜索API( http://www.ocwsearch.com/api )发出一个简单的http请求,但实际上在解析JSON时遇到了一些问题...通常这不是是一个问题。 该请求返回一个已转义字符和斜杠的字符串,因此我对响应字符串进行了替换和不转义,但是最终返回的内容类似于“ [object Object]”。 现在,我真正想做的就是能够看到最终返回的内容,因此我可以判断是否最终可以将其解析为有效的JSON。 不幸的是,这也不起作用。 我已经在堆栈溢出中阅读了几个类似的线程,但是仍然无法使其正常工作。

我尝试过的

  • 遍历要传递的对象,因为我认为它应该是带有键值对的对象,然后遍历它,每次都记录下来。 但是,这将其打印为字符串:

[

Ø

b

...一直到最后(])

给定x作为返回的相关格式化对象,

这些似乎都不起作用,它们全都让我[object Object]。

我什至在jsfiddle中尝试过: http : //jsfiddle.net/S47QL/2/我正在用alert替换console.log,它似乎重新

我的代码:

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,您可以在检查器标签中查看返回的实际结果-按F12键)。

示例: http : //www.ocwsearch.com/api/v1/search.json?q=ios&contact=http%3a%2f%2fwww.ocwsearch.com%2fabout/

并且根据http://jsonlint.com/,这是返回的有效JSON。 确定不是为了自己的利益而变得聪明吗?

您不能将响应写入字符串,因为它是一个对象。 您需要返回的数据,但是我认为body字段可以满足您的需求。 您是否尝试过仅打印机body

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM