2014-10-04 53 views
1

我想从一个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"}

感谢所有帮助

回答

1

假设您已经解析的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大多数其他模块相一致。

+0

谢谢你的工作:) – NRPatten 2014-10-05 14:44:35