Javascript 解析nodeJS中的Coinmarketcap JSON数组
我正在开发一个网站来展示一些加密货币。一些 我从Coinmarkepcap API()中得到了这些 我使用的nodeJS代码如下所示:Javascript 解析nodeJS中的Coinmarketcap JSON数组,javascript,node.js,Javascript,Node.js,我正在开发一个网站来展示一些加密货币。一些 我从Coinmarkepcap API()中得到了这些 我使用的nodeJS代码如下所示: var https = require('https'); var optionsget = { host : 'api.coinmarketcap.com', port : 443, path : '/v1/ticker/bitcoin', method : 'GET' }; var reqGet = https.re
var https = require('https');
var optionsget = {
host : 'api.coinmarketcap.com',
port : 443,
path : '/v1/ticker/bitcoin',
method : 'GET'
};
var reqGet = https.request(optionsget, function(res) {
res.on('data', function(d) {
info = JSON.parse(d);
console.log(info);
});
});
reqGet.end();
reqGet.on('error', function(e) {
console.error(e);
});
API返回以下数据:
[
{
"id": "bitcoin",
"name": "Bitcoin",
"symbol": "BTC",
"rank": "1",
"price_usd": "2256.82",
"price_btc": "1.0",
...
"last_updated": "1496168353"
},
{
"id": "ethereum",
"name": "Ethereum",
"symbol": "ETH",
"rank": "2",
"price_usd": "204.307",
"price_btc": "0.0902657",
...
"last_updated": "1496168366"
},
我得到以下错误:
SyntaxError: Unexpected token < in JSON at position 0
SyntaxError:JSON中位置0处的意外标记<
我注意到API的结果使用了一个括号[],里面有JSON
如何解析JSON数组,以便检索每个硬币的名称、价格、id等?您必须替换:
var optionsget = {
host : 'api.coinmarketcap.com',
port : 443,
path : '/v1/ticker/bitcoin',
method : 'GET'
};
作者:
如果您没有包含尾随斜杠,网站将用尾随斜杠将您重定向到URL,https.request不会透明地处理重定向
您应该检查回调()中的HTTP状态代码:
向我们展示原始问题的回复数据,以提供相关信息
var optionsget = {
host : 'api.coinmarketcap.com',
port : 443,
path : '/v1/ticker/bitcoin/',
method : 'GET'
};
var reqGet = https.request(optionsget, function(res) {
res.on('data', function(d) {
if(res.statusCode == 200) {
info = JSON.parse(d);
console.log(info);
} else {
/* Do something else */
console.log("!", res.statusCode);
}
});
});