我试图获取BidPrice对象。我将在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');
}发布于 2015-10-15 18:22:16
你所拥有的是接近的。您需要在关键字 on data.Quote上进行迭代。参见下面的工作示例,它使用方法循环引用对象的键。
基本的想法是这样做:
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"]);
});
发布于 2015-10-15 18:22:06
console.log(data.Quote['EUR/USD'].bidPrice);这里的关键是status和Quote。
for(var key in data){
console.log(key);
}你真正想要的是(据我所知)。关键是欧元/美元和美元/AUD
for(var key in data.Quote){
console.log(data.Quote[key].bidPrice);
}https://stackoverflow.com/questions/33155697
复制相似问题