如何从 API 调用后返回的 "Passthrough" 对象访问数据?
How to access data from "Passthrough" object returned after API call?
我正在向以下 url 发送带有节点提取的提取请求:http://fantasy.premierleague.com/api/bootstrap-static/ 以便取回一些 JSON 数据。在浏览器中访问 URL,或使用邮递员发送 get-request 都 returns 预期的 JSON 数据。
但是,当我从节点发送请求时,我返回了一个我不知道如何从中提取数据的对象(下图)。
我对节点不是很有经验,但我之前已经成功调用过 API。通常使用 response.json() 或 JSON.parse(response) 或 response.body 或 response.toString() 或它们的某些组合对我有用。我对缓冲区和流有一半的了解,但不确定,解决方案可能与这些有关,但我似乎无法弄清楚。
根据我的尝试,我会遇到一些不同的错误和对象。我试过使用 fetch 和来自节点的纯 http 请求。
这次通话:
Returns 这个:
如果我做 JSON.parse(response) 我会收到以下错误:
Response.body 看起来像这样:
获取returns响应流,如的答案中所述
您可以分块读取数据并将块添加到数组,然后对这些数据执行任何您需要执行的操作。一种更简单的方法是使用 npm 请求包。这是一个例子。
const request = require('request');
let options = {json: true};
const url = 'http://fantasy.premierleague.com/api/bootstrap-static/'
request(url, options, (error, res, body) => {
if (error) {
return console.log(error)
};
if (!error && res.statusCode == 200) {
console.log(body);
// do something with JSON, using the 'body' variable
};
});
我正在向以下 url 发送带有节点提取的提取请求:http://fantasy.premierleague.com/api/bootstrap-static/ 以便取回一些 JSON 数据。在浏览器中访问 URL,或使用邮递员发送 get-request 都 returns 预期的 JSON 数据。
但是,当我从节点发送请求时,我返回了一个我不知道如何从中提取数据的对象(下图)。
我对节点不是很有经验,但我之前已经成功调用过 API。通常使用 response.json() 或 JSON.parse(response) 或 response.body 或 response.toString() 或它们的某些组合对我有用。我对缓冲区和流有一半的了解,但不确定,解决方案可能与这些有关,但我似乎无法弄清楚。
根据我的尝试,我会遇到一些不同的错误和对象。我试过使用 fetch 和来自节点的纯 http 请求。
这次通话:
Returns 这个:
如果我做 JSON.parse(response) 我会收到以下错误:
Response.body 看起来像这样:
获取returns响应流,如
const request = require('request');
let options = {json: true};
const url = 'http://fantasy.premierleague.com/api/bootstrap-static/'
request(url, options, (error, res, body) => {
if (error) {
return console.log(error)
};
if (!error && res.statusCode == 200) {
console.log(body);
// do something with JSON, using the 'body' variable
};
});