我正在尝试从 json 链接获取某些数据: bittrex.com/api/v1.1/public/getticker?market=BTC-DRS
在我的 Node IRC 机器人中使用: https://www.npmjs.org/package/node.bittrex.api
部分代码:
var url = ('https://bittrex.com/api/v1.1/public/getticker?market=BTC-DRS');
bittrex.options({
'apikey' : settings.ticker.apikey,
'apisecret' : settings.ticker.secretkey,
'stream' : false,
'verbose' : false,
'cleartext' : true,
});
case 'ticker':
var user = from.toLowerCase();
bittrex.sendCustomRequest(url, function(ticker, err) {
if(err) {
winston.error('Error in !ticker command.', err);
client.say(channel, settings.messages.error.expand({name: from}));
return;
}
winston.info('Fetched Price From BitTrex', ticker);
client.say(channel, settings.messages.ticker.expand({name: user, price: ticker}));
});
break;
它可以工作,但在 IRC 中输出
[1:21am] <nrpatten> !ticker
[1:21am] <DRSTipbot> nrpatten The current DRS price at BitTrex {"success":true,"message":"","result":{"Bid":0.00000155,"Ask":0.00000164,"Last":0.00000155}}
我使用了一些方法来让它只显示回复中的“最后”,但我不断收到错误。
或者从 https://bittrex.com/api/v1.1/public/getmarketsummaries 获取某些数据
喜欢我想要的任何信息:
{"MarketName":"BTC-DRS","最高价":0.00000161,"最低价":0.00000063,"交易量":280917.11022708,"最后":0.00000155,"基本交易量":0.33696054,"时间戳":“2014-10-04T15:14:19.66”,“出价”:0.00000155,“询问”:0.00000164,“OpenBuyOrders”:33,“OpenSellOrders”:138,“PrevDay”:0.00000090,“创建”:“2014- 06-18T04:35:38.437"}
感谢您的帮助
最佳答案
假设您已经解析了 JSON(例如通过 JSON.parse(str);
),您只需使用您想要获取的任何属性名称即可。例如:
var info = JSON.parse('{"MarketName":"BTC-DRS","High":0.00000161,"Low":0.00000063,"Volume":280917.11022708,"Last":0.00000155,"BaseVolume":0.33696054,"TimeStamp":"2014-10-04T15:14:19.66","Bid":0.00000155,"Ask":0.00000164,"OpenBuyOrders":33,"OpenSellOrders":138,"PrevDay":0.00000090,"Created":"2014-06-18T04:35:38.437"}');
console.log(info.Bid);
此外,在一个不相关的问题上,回调参数通常遵循错误优先的格式(例如 (err, result)
而不是 (result, err)
)与 Node Core 和 npm 上的大多数其他模块保持一致。
关于json - Node.js JSON 提取某些数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26194339/