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

(object Object) returning from JSON request in Node

本文关键字:对象 JSON 请求 返回 节点      更新时间:2023-09-26

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

我尝试过:

  • 遍历要传递的对象,因为我认为它会是具有键值对的东西,并运行它,每次都记录它。但是,这会将其打印为字符串:

[

o

。 一直到最后 (])

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

  • 使用 " + x, toString() 尝试将其转换为字符串
  • 使用 console.log("%j", x) 按照 如何在 Node.js 中记录 JSON 对象的内容?

这些似乎都不起作用,它们都返回了我[对象对象]。

我什至在jsfiddle中尝试过:http://jsfiddle.net/S47QL/2/我正在用警报替换控制台.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