那么在像这样的情况下解析json输出的最佳实践是什么。我是否真的需要经历2+(取决于数据的深度)$ .each循环?我对javascript有点新鲜。
$.getJSON(url, null, function(data) {
$.each(data, function(i,item){
$.each(item,function(a,b) {
if (a == 'poll_date') {
dates.push(b);
} else if (a == 'prix') {
prices.push(parseFloat(b));
}
$("#testout").append("A:" + a + " B:" + b + "<br>");
});
});
});
JSON示例:
[
{"poll_date":"1990-01-01","prix":"54.60"},
{"poll_date":"1990-02-01","prix":"55.40"},
{"poll_date":"1990-03-01","prix":"58.90"},
{"poll_date":"1990-04-01","prix":"58.90"},
{"poll_date":"1990-05-01","prix":"59.30"}
]
答案 0 :(得分:2)
怎么样:
var dates = new Array();
var prices = new Array();
for (foo in data) {
dates.push(data[foo].poll_date);
prices.push(data[foo].prix);
}
<强> jsFiddle example 即可。此外,它使用纯JavaScript。
答案 1 :(得分:1)
你应该可以做类似的事情:
$.getJSON(url, null, function(data) {
$.each(data, function(i,item){
dates.push(item.poll_date);
prices.push(parseFloat(item.prix));
$("#testout").append("A:" + item.poll_date + " B:" + item.prix + "<br>");
});
});
答案 2 :(得分:1)
如果你是JSON.parse()你的字符串化数组,你应该自动获得一个包含你的对象的javascript数组。