2012-03-07 7 views
1

json出力をこのような状況で解析するのがベストプラクティスになります。私は本当に2 +を(データの深さに応じて)$。各ループを通過する必要がありますか?私は少しjavascriptに新しいです。JSONを配列に分解するベストプラクティス

$.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

あなたの方法は正常です。 – Jivings

+0

最初にそれぞれdata.itemを試しましたか?データだけではなく –

答えて

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を使用しています。

+2

私たちは私の国で言うように、ありがとうございます:私は少しばかげた今夜眠るでしょう。 – David

1

あなたが何かを行うことができる必要があります:あなたはJSON.parse()あなたの文字列化された配列、あなたは自動的にJavaScriptを取得する必要がある場合は

$.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>"); 
}); 
}); 
+0

別のプロジェクトで助けてくれました。簡単な例をありがとう:) – jasonflaherty

1

をあなたのオブジェクトを含む配列。

+0

データはすでにjavascript配列(したがって.each) – njzk2