Я пытаюсь использовать вложенный массив 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}]
Используя этот яваскрипта синтаксис:
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