Ich verwende ein JS-Objekt, um Diagramme mit Google-Visualisierung zu erstellen. Ich versuche die Datenquelle zu entwerfen. Zuerst habe ich ein JS-Objekt clientseitig erstellt.
var JSONObject = {
cols: [{
id: 'date',
label: 'Date',
type: 'date'
},
{
id: 'soldpencils',
label: 'Sold Pencils',
type: 'number'
},
{
id: 'soldpens',
label: 'Sold Pens',
type: 'number'
}
],
rows: [{
c: [{
v: new Date(2008, 1, 1),
f: '2/1/2008'
}, {
v: 30000
}, {
v: 40645
}]
},
{
c: [{
v: new Date(2008, 1, 2),
f: '2/2/2008'
}, {
v: 14045
}, {
v: 20374
}]
},
{
c: [{
v: new Date(2008, 1, 3),
f: '2/3/2008'
}, {
v: 55022
}, {
v: 50766
}]
}
]
};
var data = new google.visualization.DataTable(JSONObject, 0.5);
Jetzt muss ich die Daten dynamisch abrufen. Also sende ich eine AJAX-Anfrage an eine Seite, die die JSON-Zeichenfolge zurückgibt:
"cols: [{id: 'date', label: 'Date', type: 'date'},
{id: 'soldpencils', label: 'Sold Pencils', type: 'number'},
{id: 'soldpens', label: 'Sold Pens', type: 'number'}],
rows: [{c:[{v: new Date(2008,1,1),f:'2/1/2008'},{v: 30000}, {v: 40645}]},
{c:[{v: new Date(2008,1,2),f:'2/2/2008'},{v: 14045}, {v: 20374}]},
{c:[{v: new Date(2008,1,3),f:'2/3/2008'},{v: 55022}, {v: 50766}]}"
Dies speichere ich in einer Variablen:
var var1 = "cols: [{i ....... 66}]}"
und zeigen als
alert(var1);
Jetzt ist meine Aufgabe, aus dieser Zeichenfolge ein JS-Objekt zu erstellen. Das funktioniert nicht. Wenn ich ein JS-Objekt verwende, funktioniert alles einwandfrei und ich kann mein gewünschtes Diagramm abrufen. Wenn ich nun versuche, den gleichen Wert der Zeichenfolge aus der AJAX-Anforderung, die ich anhand einer Warnmeldung bestätigt habe, in ein Objekt einzufügen, wird das Objekt nicht korrekt erstellt. Bitte teilen Sie mir Ihre Meinung und eventuelle Korrekturen oder Ratschläge mit.
eval(json_string)
Methode, um eine Zeichenfolge für das JSON-Objekt abzurufen. Seien Sie jedoch gewarnt, dieselbe Funktion kann möglicherweise gefährlich sein, da sie auch Skripte ausführen kann.