471 Stimmen

Array in JSON umwandeln

Ich habe ein Array var cars = [2,3,..] die ein paar ganze Zahlen enthält. Ich habe ein paar Werte zu dem Array hinzugefügt, aber ich muss jetzt dieses Array an eine Seite über jQuery's senden .get Methode. Wie kann ich es in ein JSON-Objekt umwandeln, um es zu versenden?

0 Stimmen

J

0 Stimmen

I

0 Stimmen

s

12voto

Paulo Pedroso Punkte 3307

Ich beschloss, die json2-Bibliothek zu verwenden, und ich bekam eine Fehlermeldung über "zyklische Datenstrukturen".

Ich habe es gelöst, indem ich json2 gesagt habe, wie ich mein komplexes Objekt konvertieren soll. Jetzt funktioniert es nicht nur, sondern ich habe auch nur die Felder aufgenommen, die ich brauche. Hier ist, wie ich es tat:

OBJ.prototype.toJSON = function (key) {
       var returnObj = new Object();
       returnObj.devid = this.devid;
       returnObj.name = this.name;
       returnObj.speed = this.speed;
       returnObj.status = this.status;
       return returnObj;
   }

11voto

Frank Adrian Punkte 1161

Oder versuchen Sie, das Array als Objekt zu definieren. (var cars = {};) Dann ist eine Konvertierung in json nicht notwendig. Dies mag in Ihrem Beispiel nicht praktisch sein, hat aber bei mir gut funktioniert.

10voto

Lonare Punkte 3541

Denn meine Anordnung war wie unten: und ich habe die Funktion .push verwendet, um es dynamisch zu erstellen

my_array = ["234", "23423"];

Der einzige Weg, wie ich mein Array in json konvertiert ist

json = Object.assign({}, my_array);

4voto

Kamil Kiełczewski Punkte 69048

Kürzeste

Um ein gültiges json aus einem Array von Integern zu erzeugen, verwenden Sie

let json = `[${cars}]`

für allgemeinere Arrays verwenden Sie JSON.stringify(cars) (für Objekte mit Rundverweisen verwenden Sie ce )

let cars = [1,2,3]; cars.push(4,5,6);

let json = `[${cars}]`;

console.log(json);
console.log(JSON.parse(json)); // json validation

3voto

Mahmoud ihmaid Punkte 42

Wenn Sie nur 1 Objekt haben, wie das, um das Sie gebeten haben, funktioniert das Folgende.

var x = [{'a':'b'}];
var b= JSON.stringify(x);
var c = b.substring(1,b.length-1);
JSON.parse(c);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X