将JSON解析为数组的最佳实践

时间:2012-03-07 15:35:18

标签: jquery json

那么在像这样的情况下解析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"}
]

3 个答案:

答案 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数组。