【问题标题】:Access property of a javascript objectjavascript对象的访问属性
【发布时间】: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


【解决方案1】:

首先尝试了解JSON格式是什么。

假设你已经研究过它然后编写纯 Javascript 代码:

var testObject = {"OMG": {"USD": 15.85, "EUR": 12.62}};

//Then you can access USD by

console.log(testObject.OMG.USD);

【讨论】:

  • 正如您在问题中看到的那样,我说我可以通过这种方式访问​​它,请关注 cmets 以了解我们如何得出适合我的答案。
猜你喜欢
  • 2023-03-31
  • 2015-06-26
  • 1970-01-01
  • 2013-07-21
  • 2018-09-13
  • 1970-01-01
  • 2019-09-25
  • 2021-11-06
  • 2012-08-12
相关资源
最近更新 更多