【发布时间】:2018-05-11 01:46:12
【问题描述】:
我需要另一双眼睛来看看这个。我正在从 cryptocompare API 获取历史数据,但无法访问我收到的值。
当我对其进行硬编码时,例如res.data.OMG.USD,我能够得到结果。
这些是它的确切格式。我尝试将其解析为字符串并将结果推送到数组中,但无法访问价格,当我执行 Object.key 时,它只返回名称和不是美元或欧元值。我在这里错过了什么?
更新:这是请求,我正在尝试访问美元值。
$http.get(
'data/pricehistorical?fsym=BTC&tsyms=USD,EUR'
).then(
function(res) {
//sample response
/*
{"OMG":{"USD":8.19,"EUR":6.65}}
{"BTC":{"USD":10226.86,"EUR":8153.29}}
*/
},
function(res) {
console.log(res);
}
);
【问题讨论】:
-
您是否尝试过使用
JSON.parse? -
在这种情况下,我不确定您的问题是什么...尝试添加minimal reproducible example,以便我们了解您的意思。
-
恕我直言,如果您提供服务器发送给您的确切值,那么该值不是格式正确的 JSON。实际上在这种情况下 JSON.parse 失败并出现错误。
-
在这种情况下,您可以只查看
Object.values():let quote = Object.values(res)[0];然后您的值将位于quote.USD您需要[0],因为一个对象可能具有多个值,但在你的情况下它没有。
标签: javascript angularjs json