JSON.stringify-Funktion (JavaScript)
Syntax: JSON.stringify(value [, replacementer] [, space])
Konvertieren Sie einen JavaScript-Wert in eine JavaScript Object Notation (Json)-Zeichenfolge.
Wert
Erforderlich. Der zu konvertierende JavaScript-Wert (normalerweise ein Objekt oder Array).
Ersatz
Optional. Die Funktion oder das Array, die bzw. das zum Konvertieren des Ergebnisses verwendet wird.
Wenn replacer eine Funktion ist, ruft JSON.stringify die Funktion auf und übergibt den Schlüssel und den Wert jedes Mitglieds. Verwenden Sie den Rückgabewert anstelle des Originalwerts. Wenn diese Funktion undefiniert zurückgibt, wird das Mitglied ausgeschlossen. Der Schlüssel des Root-Objekts ist eine leere Zeichenfolge: „“.
Wenn der Ersatz ein Array ist, werden nur Mitglieder mit Schlüsselwerten im Array konvertiert. Mitglieder werden in derselben Reihenfolge konvertiert wie die Schlüssel im Array. Wenn das Wertargument ebenfalls ein Array ist, wird das Ersetzungsarray ignoriert.
Leerzeichen
Optional. Fügt Einrückungen, Leerzeichen und Zeilenumbrüche zum JSON-Text des Rückgabewerts hinzu, um ihn leichter lesbar zu machen.
Wenn das Leerzeichen weggelassen wird, wird der Rückgabewerttext ohne zusätzliche Leerzeichen generiert.
Wenn Leerzeichen eine Zahl ist, wird der Rückgabewerttext auf jeder Ebene um die angegebene Anzahl von Leerzeichen eingerückt. Wenn das Leerzeichen größer als 10 ist, wird der Text um 10 Leerzeichen eingerückt.
Wenn Leerzeichen eine nicht leere Zeichenfolge ist (z. B. „ “), wird der Rückgabewerttext auf jeder Ebene um Zeichen in der Zeichenfolge eingerückt.
Wenn Leerzeichen eine Zeichenfolge mit mehr als 10 Zeichen ist, werden die ersten 10 Zeichen verwendet.
Wenn der Wert eine toJSON-Methode hat, verwendet die Funktion JSON.stringify den Rückgabewert dieser Methode. Wenn der Rückgabewert der toJSON-Methode undefiniert ist, wird das Mitglied nicht konvertiert. Dadurch kann das Objekt seine eigene JSON-Darstellung bestimmen.
Werte, die keine JSON-Darstellung haben, wie z. B. undefiniert, werden nicht konvertiert. Im Objekt werden diese Werte verworfen. Im Array werden diese Werte durch Null ersetzt.
Ausführungsauftrag
Wenn der Wertparameter während des Serialisierungsprozesses der toJSON-Methode entspricht, ruft JSON.stringify zuerst die toJSON-Methode auf. Wenn die Methode nicht vorhanden ist, wird der ursprüngliche Wert verwendet. Wenn als Nächstes der Ersetzungsparameter angegeben wird, wird dieser Wert (entweder der ursprüngliche Wert oder der toJSON-Rückgabewert) durch den Rückgabewert des Ersetzungsparameters ersetzt. Abschließend werden Leerzeichen zum Wert basierend auf dem optionalen Leerzeichenparameter hinzugefügt, um den endgültigen JSON-Text zu erstellen.
In diesem Beispiel wird JSON.stringify verwendet, um ein Kontaktobjekt in JSON-Text zu konvertieren. Definieren Sie das Memberfilter-Array so, dass nur die Namen und Telefonnummern der Mitglieder konvertiert werden. Lassen Sie den Vornamen-Member weg.
var contact = new Object();
contact.firstname = "Jesper";
contact.surname = "Aaberg";
contact.phone = ["555-0100", "555-0120"];
var memberfilter = new Array();
memberfilter[0] = "Nachname";
memberfilter[1] = "phone";
var jsonText = JSON.stringify(contact, memberfilter, "t");
document.write(jsonText);
// Ausgabe:
// { "Nachname": "Aaberg", "Telefon": [ "555-0100", "555-0120" ] 🎜>
toJSON-Methode (Datum) (JavaScript)
Syntax: objectname.toJSON()
Objektname
Erforderlich. Objekt, das JSON-serialisiert werden muss.
Die toJSON-Methode ist ein integriertes Mitglied des Date-JavaScript-Objekts. Es gibt eine ISO-formatierte Datumszeichenfolge in der UTC-Zeitzone zurück (dargestellt durch das Suffix Z).
Das folgende Beispiel verwendet die toJSON-Methode, um String-Mitgliedswerte in Großbuchstaben zu serialisieren. Die toJSON-Methode wird beim Aufruf von JSON.stringify aufgerufen.
JavaScript
var contact = new Object();
contact.firstname = "Jesper";
contact.surname = "Aaberg";
contact.phone = ["555-0100", "555-0120"];
contact.toJSON = function(key)
{
var replacement = new Object();
für (var val in this)
{
If (typeof (this[val]) === 'string')
replacement[val] = this[val].toUpperCase();
sonst
replacement[val] = this[val]
}
Ersatz zurücksenden;
};
var jsonText = JSON.stringify(contact);
/* Der Wert von jsonText ist:
'{"Vorname": "JESPER", "Nachname": "AABERG", "Telefon": ["555-0100", "555-0120"]}'
*/
JSON.parse-Funktion (JavaScript)
JSON-Zeichenfolge (JavaScript Object Notation) in Objekt konvertieren
Syntax: JSON.parse(text [, reviver])
Text
Erforderlich. Eine gültige JSON-Zeichenfolge.
Erwecker
Optional. Eine Funktion, die das Ergebnis konvertiert. Diese Funktion wird für jedes Mitglied des Objekts aufgerufen. Wenn ein Mitglied verschachtelte Objekte enthält, werden die verschachtelten Objekte vor dem übergeordneten Objekt konvertiert. Für jedes Mitglied geschieht Folgendes:
Wenn reviver einen gültigen Wert zurückgibt, wird der Mitgliedswert durch den konvertierten Wert ersetzt.
Wenn der Reviver denselben Wert zurückgibt, den er empfangen hat, wird der Mitgliedswert nicht geändert.
Wenn reviver null oder undefiniert zurückgibt, wird das Mitglied entfernt.
Das folgende Beispiel verwendet JSON.parse, um einen JSON-String in ein Objekt zu konvertieren.
var jsontext = '{"Vorname": "Jesper", "Nachname": "Aaberg", "Telefon": ["555-0100", "555-0120"]}';
var contact = JSON.parse(jsontext);
document.write(contact.surname "," contact.firstname);
// Ausgabe: Aaberg, Jesper
Das folgende Beispiel zeigt, wie Sie mit JSON.stringify ein Array in einen JSON-String konvertieren und anschließend mit JSON.parse den String wieder in ein Array konvertieren.
var arr = ["a", "b", "c"];
var str = JSON.stringify(arr);
document.write(str);
document.write ("
");
var newArr = JSON.parse(str);
while (newArr.length > 0) {
Document.write(newArr.pop() "
");
}
// Ausgabe:
// ["a", "b", "c"]
// c
// b
// a