Node.js JSON提取某些数据

我试图从一个JSON链接获取某些数据:bittrex.com/api/v1.1/public/getticker?market=BTC-DRS

在我的节点IRC bot中使用: 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/getmarketsmarmaries获取某些数据

像我想要的任何信息:

{"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"}

谢谢你的帮助

假设你已经parsing了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); 

另外,在一个不相关的问题上,通常callback参数遵循错误优先格式(例如(err, result)而不是(result, err) ),以便与npm上的节点核心和大多数其他模块保持一致。