NodeJS未定义的JSON对象
刚发布一个问题,因为我在这里看到了一些其他类似的问题,但没有一个方法似乎对我有用。
我是NodeJS的新手,并且正在尝试从API请求数据。对于我在这里的测试我只是试图根据用户提示的输入来提取股票价格。
这工作正常,但对象
这是我用来尝试使这项工作的代码:
prompt.start();
prompt.get(['coin'], function (err, result) {
request({url: `=${result.coin}&tsyms=BTC,USD`, json:true}, function(err, res, json) {
if (err) {
throw err;
}
console.log(json);
var json = JSON.stringify(json);
var string2 = JSON.parse(json);
console.log(string2.btc_price);
console.log(json);
});
console.log('Retrieving: ' + result.coin);
});
API请求有效,但是它使用我的3个控制台日志返回看起来像这样的JSON:
{ set_attributes: { btc_price: 1, usd_price: 15839.35 } }
undefined
{"set_attributes":{"btc_price":1,"usd_price":15839.35}} -- (Stringify'd response)
我希望能够提取btc_price和usd_price作为变量,我尝试了几种不同的方法,无法弄清楚到底哪里出错了。任何帮助将不胜感激!
干杯,
Ĵ
回答如下:当你试图提取btc_price
属性时,它实际上是嵌套的,所以你的第二个控制台应该读取console.log(string2.set_attributes.btc_price);