Ich war verwirrt darüber, wann ich diese beiden Analysemethoden verwenden sollte.
Nachdem ich meine json_encoded-Daten wiedergegeben und über Ajax abgerufen habe, bin ich oft verwirrt darüber, wann ich JSON.stringify und JSON.parse verwenden soll .
Ich bekomme [object,object]
in meiner console.log, wenn analysiert, und ein JavaScript-Objekt, wenn es stringifiziert ist.
$.ajax({
url: "demo_test.txt",
success: function(data) {
console.log(JSON.stringify(data))
/* OR */
console.log(JSON.parse(data))
//this is what I am unsure about?
}
});
javascript
json
HIRA THAKUR
quelle
quelle
json.stringify(json.parse(data))
.Antworten:
JSON.stringify
wandelt ein JavaScript-Objekt in JSON-Text um und speichert diesen JSON-Text in einer Zeichenfolge, z.JSON.parse
wandelt eine Zeichenfolge aus JSON-Text in ein JavaScript-Objekt um, z.quelle
JSON.parse()
dient zum "Parsen" von etwas, das als JSON empfangen wurde.JSON.stringify()
besteht darin, eine JSON-Zeichenfolge aus einem Objekt / Array zu erstellen.quelle
JSON.stringify(3)
Sie sind das Gegenteil voneinander.
JSON.stringify()
serialisiert ein JS-Objekt in eine JSON-Zeichenfolge, währendJSON.parse()
eine JSON-Zeichenfolge in ein JS-Objekt deserialisiert wird.quelle
Sie sind die Gegensätze voneinander.
JSON.stringify ()
JSON.stringify () serialisiert ein JS-Objekt oder einen JSON-Wert in eine JSON-Zeichenfolge.
JSON.parse ()
Die Methode JSON.parse () analysiert eine Zeichenfolge als JSON und transformiert optional den erzeugten Wert.
quelle
parse()
wäreobjectify()
oderjsonify()
.jsonify()
wäre mehrdeutig und irreführend, daparse()
sie nicht ein konvertierenString
zu einemJSON
Typ (wasjsonify()
würde angibt), sondernparse()
wandelt eine JSON-FormatString
zu einem:Object
,Array
,Number
,String
,Boolean
odernull
. Menschen verwechseln häufig JSON "String Representation" undObject
(oderdict
in Python usw.).Zunächst
JSON.stringify()
konvertiert die Funktion einen JavaScript-Wert in eine JSON-Zeichenfolge (JavaScript Object Notation).JSON.parse()
Die Funktion konvertiert eine JSON-Zeichenfolge (JavaScript Object Notation) in ein Objekt. Weitere Informationen zu diesen beiden Funktionen finden Sie unter den folgenden Links.https://msdn.microsoft.com/library/cc836459(v=vs.94).aspx https://msdn.microsoft.com/library/cc836466(v=vs.94).aspx
Zweitens ist das folgende Beispiel hilfreich, um diese beiden Funktionen zu verstehen.
quelle
// Die Ausgabe lautet:
// Für die 1. Konsole ist ein String wie:
// Für die 2. Konsole ist ein Objekt wie:
quelle
JSON.stringify()
Konvertiert ein Objekt in eine Zeichenfolge.JSON.parse()
Konvertiert eine JSON-Zeichenfolge in ein Objekt.quelle
Bei der wirklichen Verwirrung geht es hier nicht um Parse vs Stringify, sondern um den Datentyp des
data
Parameters des Erfolgsrückrufs.data
kann entweder die Rohantwort sein, dh eine Zeichenfolge, oder es kann ein JavaScript-Objekt sein, wie in der Dokumentation beschrieben:Der Datentyp ist standardmäßig auf "Intelligent Guess" eingestellt.
quelle
JavaScript-Objekt <-> JSON-Zeichenfolge
JSON.stringify (obj) - Nimmt jedes serialisierbare Objekt und gibt die JSON-Darstellung als Zeichenfolge zurück.
JSON.parse (Zeichenfolge) - Nimmt eine wohlgeformte JSON-Zeichenfolge und gibt das entsprechende JavaScript-Objekt zurück.
Erläuterung: JSON.stringify (obj [, replace [, space]]);
Replacer / Space - optional oder nimmt einen ganzzahligen Wert an oder Sie können die Rückgabefunktion vom Typ Interger aufrufen.
quelle
Sie sind das genaue Gegenteil voneinander.
JSON.parse()
wird zum Parsen von Daten verwendet, die als JSON empfangen wurden ; Es deserialisiert eine JSON-Zeichenfolge in ein JavaScript-Objekt .JSON.stringify()
Auf der anderen Seite wird eine JSON-Zeichenfolge aus einem Objekt oder Array erstellt . Es serialisiert ein JavaScript-Objekt in eine JSON-Zeichenfolge .quelle
Ich weiß nicht, ob es erwähnt wurde, aber eine der Verwendungsmöglichkeiten von JSON.parse (JSON.stringify (myObject)) besteht darin, einen Klon des ursprünglichen Objekts zu erstellen.
Dies ist praktisch, wenn Sie mit einigen Daten herumspielen möchten, ohne das ursprüngliche Objekt zu beeinträchtigen. Wahrscheinlich nicht der sauberste / schnellste Weg, aber sicherlich der einfachste für Objekte, die nicht sehr komplex sind.
quelle
JSON.stringify(obj [, replacer [, space]])
- Nimmt ein serialisierbares Objekt und gibt die JSON-Darstellung als Zeichenfolge zurück.JSON.parse(string)
- Nimmt eine wohlgeformte JSON-Zeichenfolge und gibt das entsprechende JavaScript-Objekt zurück.quelle
Sie stehen sich gegenüber.
JSON.Stringify()
konvertiert JSON in einen String undJSON.Parse()
analysiert einen String in JSON.quelle
JSON: Es wird hauptsächlich zum Austausch von Daten zum / vom Server verwendet. Vor dem Senden des JSON-Objekts an den Server muss es sich um eine Zeichenfolge handeln.
Es konvertiert auch das Javascript-Array in einen String
Wenn wir die JSON-Daten vom Server erhalten haben, haben die Daten das Zeichenfolgenformat. Von dort konvertieren wir die Zeichenfolge in ein JSON-Objekt.
quelle
JSON.parse()
wird verwendet, um String in Object zu konvertieren.JSON.stringify()
wird verwendet, um Object in String zu konvertieren.Sie können dies auch verweisen ...
quelle
JSON.parse () nimmt eine JSON-Zeichenfolge und wandelt sie in ein JavaScript-Objekt um.
JSON.stringify () nimmt ein JavaScript-Objekt und wandelt es in eine JSON-Zeichenfolge um.
Und obwohl die Methoden normalerweise für Objekte verwendet werden, können sie auch für Arrays verwendet werden:quelle