Konvertieren von json-string Wert Anzahl
Ich habe einen JSON string, der liest:
[{
"id": "id2",
"index": "2",
"str": "str2",
"cent": "200",
"triplet": "222"
},
{
"id": "id3",
"index": "3",
"str": "str3",
"cent": "300",
"triplet": "333"
},
{
"id": "id4",
"index": "4",
"str": "str4",
"cent": "400",
"triplet": "444"
},
{
"id": "id5",
"index": "5",
"str": "str5",
"cent": "500",
"triplet": "555"
}]
Schlüssel-Wert-Paare kommen dynamisch vom server und ich will nicht vorher wissen, welche Daten zu erwarten.
Für eine charting-Bibliothek, die ich benutze, brauche ich die Werte im JSON-numerisch anstelle von string-viz. "index":2
statt "index":"2"
Bin ich verpflichtet, dies zu tun manipulation der client-Seite mit reinem JS oder jQuery.
Das war mein Ansatz, aber es scheint nicht zu funktionieren:
var temp = //some json that I receive
var jsonForChart = jQuery.extend(true, {}, temp);
$.each(temp, function(key, value) {
$.each(value, function(k, v) {
if(!isNaN(v)){
jsonForChart[key][k] = Number(v);
}
});
});
- was scheint das problem zu sein? Sind Sie immer Fehler?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Etwas wie diese (wo
objects
ist ein Array von Objekten):JavaScript
Die Letzte Zeile drucken Sie dieses:
Versuchen. Ich habe es noch nicht getestet, aber sollte funktionieren.
else
Zustand. Danke für den Vorschlag, obwohl 🙂Versuchen, diese
Live Geige
Brauchen Sie nicht zu überprüfen, ob der Wert eine Zahl ist:
JS:
HTML:
Bekommen Sie ein großes Objekt, aber es ist, was Sie erwarten, zu sehen die Linie
var jsonForChart = jQuery.extend(true, {}, temp);
.