Perché non posso fare questa iterazione con i dati JSON?
-
30-09-2019 - |
Domanda
Ho provato questo,
var rows = [];
for (var i = 0; i < 10; i++) {
rows.push(['row' + i, i]);
}
data.addRows(rows);
Questo sembra funzionare, ma quando lo faccio lo stesso con JSON,
var data = new google.visualization.DataTable();
data.addColumn('string', 'dbZipcode');
data.addColumn('number', 'countusers');
var rows = [];
for (var i = 0; i < response.customerlist.length; i++) {
rows.push(['Zipcode-' + response.customerlist[i].dbZipcode,
response.customerlist[i].countusers]);
}
data.addRows(rows);
mi dà un Error: Type mismatch. Value 1 does not match type number in column index
errore. Ogni suggerimento.
ed i miei sguardi JSON dati di questo tipo,
{
"customerlist": [
{ "dbZipcode": "21313213", "countusers": "1" },
{ "dbZipcode": "2313213", "countusers": "1" },
{ "dbZipcode": "23324324", "countusers": "1" },
{ "dbZipcode": "2342432", "countusers": "1" },
{ "dbZipcode": "32424422343", "countusers": "1" },
{ "dbZipcode": "324324324", "countusers": "1" },
{ "dbZipcode": "324324324324", "countusers": "1" },
{ "dbZipcode": "3244324", "countusers": "1" },
{ "dbZipcode": "3422344", "countusers": "1" },
{ "dbZipcode": "342424324", "countusers": "1" },
{ "dbZipcode": "3424324", "countusers": "1" },
{ "dbZipcode": "435345", "countusers": "1" },
{ "dbZipcode": "627028", "countusers": "1" },
{ "dbZipcode": "641030", "countusers": "2" },
{ "dbZipcode": "642582", "countusers": "1" }
]
}
Soluzione
è "1" nel vostro JSON essere visto come una stringa non un numero?
Prova
response.customerlist[i].countusers] - 0
in modo che possa essere trattato come un intero
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow