JSON.stringify()
JSON wird häufig verwendet, um Daten mit dem Server auszutauschen.
Beim Senden von Daten an den Server handelt es sich in der Regel um eine Zeichenkette.
Wir können die Methode JSON.stringify() verwenden, um ein JavaScript-Objekt in eine Zeichenkette umzuwandeln.
Syntax
JSON.stringify(value[, replacer[, space]])
Parameter description:
- value:
Erforderlich. Der zu konvertierende JavaScript-Wert (normalerweise ein Objekt oder Array).
- replacer:
Optional. Eine Funktion oder ein Array, die verwendet werden, um das Ergebnis zu transformieren.
Wenn replacer eine Funktion ist, ruft JSON.stringify diese Funktion auf und übergibt den Schlüssel und den Wert jedes Mitglieds. Der Rückgabewert wird anstelle des ursprünglichen Werts verwendet. Wenn diese Funktion undefined zurückgibt, wird das Mitglied ausgeschlossen. Der Schlüssel für das Wurzelobjekt ist eine leere Zeichenkette: "".
Wenn replacer ein Array ist, werden nur Mitglieder konvertiert, deren Schlüsselwerte im Array vorhanden sind. Die Konvertierungsreihenfolge der Mitglieder entspricht der Reihenfolge der Schlüssel im Array. Wenn der Parameter value ebenfalls ein Array ist, wird das replacer-Array ignoriert.
- space:
Optional. Fügt dem Text Einrückung, Leerzeichen und Zeilenumbrüche hinzu. Wenn space eine Zahl ist, wird der Text des Rückgabewerts auf jeder Ebene um die angegebene Anzahl von Leerzeichen eingerückt. Wenn space größer als 10 ist, wird der Text um 10 Leerzeichen eingerückt. space kann auch eine Nicht-Zahl sein, wie z. B. \t.
Konvertierung von JavaScript-Objekten
Zum Beispiel senden wir die folgenden Daten an den Server:
Wir verwenden die Methode JSON.stringify(), um die obigen Daten zu verarbeiten und sie in einen String umzuwandeln:
myJSON ist ein String.
Wir können myJSON an den Server senden:
Beispiel
Selbst ausprobieren »
JavaScript-Array-Konvertierung
Wir können auch ein JavaScript-Array in einen JSON-String umwandeln:
Beispiel
myJSON ist ein String.
Wir können myJSON an den Server senden:
Beispiel
Selbst ausprobieren »
Ausnahmen
Daten parsen
JSON kann keine Date-Objekte speichern.
JSON.stringify() konvertiert alle Datumsangaben in Strings.
Beispiel
Selbst ausprobieren »
Danach können Sie die Zeichenfolge wieder in ein Date-Objekt umwandeln.
Parsing-Funktionen
JSON erlaubt keine Funktionen. JSON.stringify() entfernt Funktionen aus JavaScript-Objekten, einschließlich Schlüssel und Wert.
Beispiel
Selbst ausprobieren »
Wir können das obige Problem vermeiden, indem wir die Funktion in einen String umwandeln, bevor wir die Funktion JSON.stringify() ausführen:
Beispiel
Selbst ausprobieren »
Es wird nicht empfohlen, Funktionen in JSON zu verwenden.
Browser-Unterstützung
Alle gängigen Browser unterstützen die Funktion JSON.stringify():
- Firefox 3.5
- Internet Explorer 8
- Chrome
- Opera 10
- Safari 4