Ich muss die JSON-Objektzeichenfolge in ein JavaScript-Array konvertieren.
Dies ist mein JSON-Objekt:
{"2013-01-21":1,"2013-01-22":7}
Und ich möchte haben:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
data.addRows([
['2013-01-21', 1],
['2013-01-22', 7]
]);
Wie kann ich das erreichen?
javascript
json
user1960311
quelle
quelle
string.split(',')
Antworten:
var json_data = {"2013-01-21":1,"2013-01-22":7}; var result = []; for(var i in json_data) result.push([i, json_data [i]]); var data = new google.visualization.DataTable(); data.addColumn('string', 'Topping'); data.addColumn('number', 'Slices'); data.addRows(result);
http://jsfiddle.net/MV5rj/
quelle
Wenn Sie eine wohlgeformte JSON-Zeichenfolge haben, sollten Sie dazu in der Lage sein
var as = JSON.parse(jstring);
Ich mache das die ganze Zeit, wenn ich Arrays über AJAX übertrage.
quelle
Angenommen, Sie haben:
var j = {0: "1", 1: "2", 2: "3", 3: "4"};
Sie könnten die Werte erhalten mit:
Object.values(j)
Ausgabe:
["1", "2", "3", "4"]
quelle
function json2array(json){ var result = []; var keys = Object.keys(json); keys.forEach(function(key){ result.push(json[key]); }); return result; }
Siehe diese vollständige Erklärung: http://book.mixu.net/node/ch5.html
quelle
Dies wird das Problem lösen:
const json_data = {"2013-01-21":1,"2013-01-22":7}; const arr = Object.keys(json_data).map((key) => [key, json_data[key]]); console.log(arr);
Oder verwenden Sie die Object.entries () -Methode:
console.log(Object.entries(json_data));
In beiden Fällen wird Folgendes ausgegeben:
/* output: [['2013-01-21', 1], ['2013-01-22', 7]] */
quelle
Sie können Objektelemente wie folgt in ein Array einfügen
let obj = { '1st': { name: 'stackoverflow' }, '2nd': { name: 'stackexchange' } }; let wholeArray = Object.keys(obj).map(key => obj[key]); console.log(wholeArray);
quelle
So einfach ist das!
var json_data = {"2013-01-21":1,"2013-01-22":7}; var result = [json_data]; console.log(result);
quelle