Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何处理返回循环结构JSON的API_Javascript_Node.js_Express - Fatal编程技术网

Javascript 如何处理返回循环结构JSON的API

Javascript 如何处理返回循环结构JSON的API,javascript,node.js,express,Javascript,Node.js,Express,我正在使用Zoopla开发者API获取一些历史定价数据 我的httpget方法如下 http.get(url, function(err, data) { if (err) console.log(err); res.send(data); }); 在尝试使用上述方法时,我得到了TypeError:将循环结构转换为JSON 你知道如何解决这个问题吗?http.get的第二个参数不是数据对象。它是一个响应对象 您应该这样做: http.get(url, function(err, res

我正在使用Zoopla开发者API获取一些历史定价数据

我的httpget方法如下

http.get(url, function(err, data) {
  if (err) console.log(err);
  res.send(data);
});
在尝试使用上述方法时,我得到了
TypeError:将循环结构转换为JSON


你知道如何解决这个问题吗?

http.get的第二个参数不是数据对象。它是一个响应对象

您应该这样做:

http.get(url, function(err, response) {
  if (err) console.log(err)

  var data = ''
  response.setEncoding('utf8')
  response.on('data', function(d) {
    data += d
  })
  response.on('end', function(d) {
    res.send(data)
  })
})

我从第三方API获取数据,因此无法控制获取数据的格式。您不能使用诸如response…或干脆
response.pipe(res)
之类的方法来JSON本机对象。我假设他希望在返回数据后进行一些预处理,因为不修改返回数据几乎没有意义。在这种情况下,缓冲是最简单的解决方案。谢谢,是的,问题是我混淆了http.get的参数