我想使用嵌套的json數組來繪製一個多系列的圖表與d3.js。我在這個網站和其他網站上看過很多地方,雖然有類似的話題,但我似乎無法使語法適用於我的特定問題(這是一個簡單的問題)。嵌套的JSON數組和D3JS
爲了使線圖(如一個在這裏:http://bl.ocks.org/mbostock/3883245),我可以分析這個JSON文件:
[{"date":"1-May-12","close":58.13},{"date":"30-Apr-12","close":53.98},{"date":"27-Apr-12","close":67}]
通過使用該JavaScript語法:
d3.json("data/data2.json", function(error, data) {
data.forEach(function(d) {
d.date = parseDate(d.date);
d.close = +d.close;
});
但是,如果JSON是一個嵌套數組?例如:
{
"Stock01":[{"date":"1-May-12","close":58.13},{"date":"30-Apr-12","close":53.98},{"date":"27-Apr-12","close":67}]
"Stock02":[{"date":"1-May-12","close":28.13},{"date":"30-Apr-12","close":33.98},{"date":"27-Apr-12","close":47}]
}
我試着像下面的腳本選項,但我沒有任何運氣:
d3.json("data/data2.json", function(error, data) {
data.forEach(function(d) {
d.date = parseDate(d[0].date);
d.close = +d[0].close;
});
如果任何人有如何導航嵌套的JSON陣列與建議data.forEach函數,我會很感激。預先感謝您的幫助。
爲了進一步闡明:在['.forEach()'函數(https://developer.mozilla.org/en-US/docs/Web/ JavaScript/Reference/Global_Objects/Array/forEach)僅適用於數組,爲數組中的每個元素調用一次內部函數。您需要訪問數據對象中的單個數組,然後使用'.forEach()'來掃描它們。 – AmeliaBR