首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript对象EventSource

JavaScript对象EventSource
EN

Stack Overflow用户
提问于 2015-10-15 18:16:27
回答 2查看 50关注 0票数 1

我试图获取BidPrice对象。我将在EventSource中获取这些数据,并希望对其进行处理。

代码语言:javascript
复制
    var data = {
      "status" : "OK",
      "Quote" : {
        "EUR/USD" : {
          "eventSymbol" : "EUR/USD",
          "bidTime" : 1444932337000,
          "bidExchangeCode" : "",
          "bidPrice" : 1.29805,
          "bidSize" : 1,
          "askTime" : 1444932337000,
          "askExchangeCode" : "",
          "askPrice" : 1.29807,
          "askSize" : 1
        },
        "USD/AUD" : {
          "eventSymbol" : "USD/AUD",
          "bidTime" : 1444932337000,
          "bidExchangeCode" : "",
          "bidPrice" : 0.97457,
          "bidSize" : 1,
          "askTime" : 1444932337000,
          "askExchangeCode" : "",
          "askPrice" : 0.97464,
          "askSize" : 1
        }
      }
    };

    for(var key in data){
        console.log(data[key].Quote.bidPrice);
        //my goal is to output this: console.log('EUR/USD bid price is 1.29805');
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-15 18:22:16

你所拥有的是接近的。您需要在关键字 on data.Quote上进行迭代。参见下面的工作示例,它使用方法循环引用对象的键。

基本的想法是这样做:

代码语言:javascript
复制
Object.keys(data["Quote"]).forEach(function (k) {
    console.log(k + " bid price is: " + data["Quote"][k]["bidPrice"]);
});

而完整的例子是:

代码语言:javascript
复制
var data = {
  "status" : "OK",
  "Quote" : {
    "EUR/USD" : {
      "eventSymbol" : "EUR/USD",
      "bidTime" : 1444932337000,
      "bidExchangeCode" : "",
      "bidPrice" : 1.29805,
      "bidSize" : 1,
      "askTime" : 1444932337000,
      "askExchangeCode" : "",
      "askPrice" : 1.29807,
      "askSize" : 1
    },
    "USD/AUD" : {
      "eventSymbol" : "USD/AUD",
      "bidTime" : 1444932337000,
      "bidExchangeCode" : "",
      "bidPrice" : 0.97457,
      "bidSize" : 1,
      "askTime" : 1444932337000,
      "askExchangeCode" : "",
      "askPrice" : 0.97464,
      "askSize" : 1
    }
  }
};

//Log function for demonstration
function log (s) {
  var e = document.createElement('pre');
  e.innerHTML = s;
  document.body.appendChild(e);
  console.log(s);
}

Object.keys(data["Quote"]).forEach(function (k) {
  log(k + " bid price is: " + data["Quote"][k]["bidPrice"]);
});

票数 1
EN

Stack Overflow用户

发布于 2015-10-15 18:22:06

代码语言:javascript
复制
console.log(data.Quote['EUR/USD'].bidPrice);

这里的关键是statusQuote

代码语言:javascript
复制
for(var key in data){
    console.log(key);
}

你真正想要的是(据我所知)。关键是欧元/美元美元/AUD

代码语言:javascript
复制
for(var key in data.Quote){
   console.log(data.Quote[key].bidPrice);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33155697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档