Node.js的JSON提取某些数据
问题描述:
我想从一个JSON链接某些数据: bittrex.com/api/v1.1/public/getticker?market=BTC-DRSNode.js的JSON提取某些数据
在我的节点使用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","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"}
感谢所有帮助
答
假设您已经解析的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)
),以便与核心节点和NPM大多数其他模块相一致。
谢谢你的工作:) – NRPatten 2014-10-05 14:44:35