2015-10-15 18 views
1

我試圖獲得BidPrice對象。我在EventSource中獲取這些數據並想要處理它。JavaScript對象EventSource

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'); 
    } 
+0

'data.Quote [ 「EUR/USD」] bidPrice' < - 應該是直截了當的。 – adeneo

回答

1

你有什麼是密切的。您需要改寫data.Quote而不是keys。請參閱下面的工作示例,該示例使用forEach method循環引用對象的鍵。

的基本思路是這樣:

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

而完整的例子:

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"]); 
 
});

0
console.log(data.Quote['EUR/USD'].bidPrice); 
這裏

的關鍵將狀態報價

for(var key in data){ 
    console.log(key); 
} 

你真正想要的是(據我所知)。關鍵是EUR/USDAUD/USD

for(var key in data.Quote){ 
    console.log(data.Quote[key].bidPrice); 
} 
+1

是的,非常感謝 – Vazzilly