Convertendo dados JSON para tabela de dados do google chart
Estou tentando converter esse json no formato correto para um gráfico do google:
var jsonData = {"Battery Voltage, (A)":
{"2017-11-11T00:00:00.000Z":12.3
,"2017-11-11T00:01:00.000Z":12.35
,"2017-11-11T00:02:00.000Z":12.6
,"2017-11-11T00:03:00.000Z":12.7
,"2017-11-11T00:04:00.000Z":12.8}
,"Battery Current, (A)":
{"2017-11-11T00:00:00.000Z":1.3
,"2017-11-11T00:01:00.000Z":1.4
,"2017-11-11T00:02:00.000Z":1.5
,"2017-11-11T00:03:00.000Z":1.6
,"2017-11-11T00:04:00.000Z":1.7}};
Como alternativa, posso obter dados como este:
var jsonData_2 =
{"2017-11-16T00:00:00.000Z":
{"Charge Current, (A)":0.001373312,"Battery Voltage, (V)":12.9267109178}
,"2017-11-16T00:01:00.000Z":
{"Charge Current, (A)":0.001373312,"Battery Voltage, (V)":12.9267109178}
,"2017-11-16T00:02:00.000Z":
{"Charge Current, (A)":0.001373312,"Battery Voltage, (V)":12.9267109178}
,"2017-11-16T00:03:00.000Z":
{"Charge Current, (A)":0.001373312,"Battery Voltage, (V)":12.9267109178}
,"2017-11-16T00:04:00.000Z":
{"Charge Current, (A)":0.001373312,"Battery Voltage, (V)":12.9267109178}};
Estou tentando converter esse json no formato correto para um gráfico de linhas do google:
[
['Datetime', 'Battery Current, (A)', 'Battery Voltage, (A)'],
['2017-11-11 01:00', 1.3, 12.3],
['2017-11-11 02:00', 1.4, 12.35],
['2017-11-11 03:00', 1.5, 12.6],
['2017-11-11 04:00', 1.6, 12.7]
]
Eu posso usar esse código para uma única coluna:
var chartData = [];
Object.keys(jsonData).forEach(function (column) {
chartData.push(['Datetime', column]);
Object.keys(jsonData[column]).forEach(function (dateValue) {
chartData.push([new Date(dateValue), jsonData[column][dateValue]]);
});
});
Mas não sei como alterá-lo por dois?