485 Stimmen

Unterschied zwischen JSON.stringify und JSON.parse

Ich war verwirrt darüber, wann ich diese beiden Parser-Methoden verwenden soll.

Nachdem ich meine json_encoded Daten ausgebe und sie über Ajax wieder abrufe, gerate ich oft in Verwirrung darüber, wann ich JSON.stringify und JSON.parse verwenden sollte.

Ich erhalte [object, object] in meinem console.log, wenn geparst und ein JavaScript-Objekt, wenn stringifiziert.

$.ajax({
url: "demo_test.txt",
success: function(data) {
         console.log(JSON.stringify(data))
                     /* ODER */
         console.log(JSON.parse(data))
        //daran bin ich mir unsicher?
    }
});

0voto

Bipon Biswas Punkte 10817

JSON.parse() nimmt einen JSON-String und wandelt ihn in ein JavaScript-Objekt um.

JSON.stringify() nimmt ein JavaScript-Objekt und wandelt es in einen JSON-String um.

const myObj = {
      name: 'bipon',
      age: 25,
      favoriteFood: 'fish curry'
};

 const myObjStr = JSON.stringify(myObj);

console.log(myObjStr);
// "{"name":"bipon","age":26,"favoriteFood":"fish curry"}"

console.log(JSON.parse(myObjStr));
 // Object {name:"bipon",age:26,favoriteFood:"fish curry"}

Und obwohl die Methoden normalerweise auf Objekten verwendet werden, können sie auch auf Arrays verwendet werden:

const myArr = ['simon', 'gomez', 'john'];

const myArrStr = JSON.stringify(myArr);

console.log(myArrStr);
// "["simon","gomez","john"]"

console.log(JSON.parse(myArrStr));
// ["simon","gomez","john"]

0voto

RotatingWheel Punkte 931

Analysiere einen String (im JSON-Format geschrieben) und gib ein JavaScript-Objekt zurück

var obj = JSON.parse('{"firstName":"John", "lastName":"Doe"}');

Konvertiere ein JavaScript-Objekt in einen String:

var obj = { "name":"John", "age":30, "city":"New York"};
var myJSON = JSON.stringify(obj);

Wenn ein Client (zum Beispiel ein Browser Daten sendet oder empfängt), muss er einen String senden. Daten können nicht als JavaScript-Objekt gesendet werden.

Wenn Daten in JavaScript-Form als String beim Client ankommen, müssen wir den String wieder in ein Objekt konvertieren, damit wir ihn auf der Client-Seite bequem verarbeiten können.

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