JSON.Stringify -Methode | Erklärt

JSON.Stringify -Methode | Erklärt
JSON ist ein Standard für die Übertragung von Daten über Server und Clients hinweg und das berühmteste Format, das von fast jeder modernen Programmiersprache akzeptiert wird. Immer wenn die Daten über das Internet übertragen werden müssen, wird sie als String -Wert übertragen. Wenn dieser Zeichenfolgenwert von der Anwendung empfangen wird, wird er in ein Objekt analysiert. In ähnlicher Weise werden die Objekte in JSON -Zeichenfolgen umgewandelt, bevor sie sie über das Internet senden.

In JavaScript ist die Methode, mit der die JavaScript -Objekte in die JSON -Zeichenfolge konvertiert werden, die Stringify () Methode, und heute werden wir die Verwendung und die Syntax zusammen mit Beispielen abdecken.

Die Stringify () -Methode

Diese Methode wurde in der ES6 -Version von JavaScript eingeführt. Diese Methode wird verwendet, um JavaScript -Objekte und JSON -Objekte in JSON -Zeichenfolgen umzuwandeln. Um dies zu demonstrieren, nehmen Sie das folgende Objekt:

var Superhero =
Name: "Bruce Wayne",
"Super Power": "Super reich",
"Autos gehörte": [

Name: "Murciélago",
Modell: "LP 640",
Status: "Absturz",
,

Name: "Aventador",
Modell: "LP 700-4",
Status: "scheint nach dem Unfall fahrbar zu sein",
,
],
;

Wenn wir dieses Objekt mit der folgenden Zeile auf die Konsole ausdrucken:

Konsole.log (Superhelden);

Das Ergebnis der Konsole ist:

Aus der Ausgabe ist klar, dass es tatsächlich von unserer JavaScript -Anwendung als Objekt angesehen wird. Das Drucken dieses Objekts in die Konsole war wichtig, damit wir den Unterschied zwischen einer String -Ausgabe und einer Objektausgabe erkennen können (da sie manchmal verwirren, insbesondere bei der Arbeit mit Code -Editoren)

Um dies in eine JSON -Zeichenfolge umzuwandeln, verwenden wir die folgende Codezeile:

var superherostring = json.Stringify (Superhero);

Um diese Konvertierung zu überprüfen, verwenden Sie die folgende Zeile, um die Variable zu drucken Superhelden auf die Konsole:

Konsole.log (superherostring);

Wir erhalten das folgende Ergebnis auf der Konsole:

Sie können beobachten, dass wir diesmal eine Schnur auf die Konsole gedruckt haben

Die Stringify () -Methode | Syntax

Die Stringify () -Methode nimmt ein JavaScript -Objekt auf, konvertiert sie in eine Zeichenfolge und gibt diese Zeichenfolge dann als ITS zurück Rückgabewert. Die Syntax ist definiert als

Stringify (Wert: Any, Austauscher?: (this: Any: Schlüssel: String, Wert: Any) => Any, Space?: String | Nummer): String;

Die obige Syntax sieht ziemlich entmutigend aus, wenn wir einfach es einfach sind, dann wird die Syntax:

Stringify (Objekt, Austausch, Speicherplatz);

Aus dieser Syntax können Sie sehen, dass 3 Argumente erforderlich sind:

  • Das Objekt, das in die JSON -Zeichenfolge umgewandelt werden soll
  • Eine Ersatzmethode (die optional ist)
  • Ein Speicherparameter, der ebenfalls optional ist

Stringify () | Der Ersatz- und Space -Parameter

Um den Parameter Austausch und Speicherplatz zu erklären, benötigen wir zunächst ein Objekt, das wir in eine JSON -Zeichenfolge konvertieren. Sie können ein Objekt mit den folgenden Zeilen erstellen:

var person =
Auto: "Tesla",
Instrument: "Gitarre",
Alter: 25,
Stadt: "New York"

Wir können dieses Objekt in die String -Methode übergeben und das Ergebnis mithilfe der folgenden Zeile anzeigen:

Konsole.Protokoll (JSON.Stringify (Person));

Dies gibt uns das folgende Ergebnis:

Aber was ist, wenn wir das "Schlüsselwert" -Paar nicht einbeziehen wollen, das den Schlüssel hat "Alter". Dafür können wir eine Ersatzmethode schreiben und in das zweite Argument der Stringify -Methode übergeben.

Das Ersatzargument

Dieses Argument enthält eine Ersatzmethode (), die Ersatz () -Methode nimmt 2 Parameter an, einer ist der Schlüssel und der andere ist der Wert. Um ein Schlüsselwertpaar zu ignorieren, können wir eins zurückgeben nicht definiert Wert. Geben Sie die folgenden Codezeilen ein:

FunktionReplacer (Schlüssel, Wert)
if (key === "Alter")
return definiert;

Rückgabewert;

Wenn wir diese Ersatzmethode nun als Argument für die Stringify -Methode mit den folgenden Codezeilen verwenden:

Konsole.Protokoll (JSON.Stringify (Person, Austausch));

Wir erhalten die folgende Ausgabe auf unserer Konsole:

Wie Sie sehen können, die Schlüsselwert Paar mit dem Key = "Alter" wurde von der resultierenden Zeichenfolge ausgeschlossen.

Das Raumargument

Der Raum oder das Argument des Abstandshalters legt einen gewissen Platz zwischen jedem Platz Schlüsselwert Paar. Wenn wir beispielsweise einen Platz von 10 Zeichen zwischen jedem Schlüsselwertpaar wünschen, können wir die folgende Codezeile verwenden:

Konsole.Protokoll (JSON.Stringify (Person, Null, 10))

Sie erhalten das folgende Ergebnis auf Ihrer Konsole:

Ich habe den Raum mit einer roten Linie markiert, um ihn prominent zu machen

Sie können auch eine Zeichenfolge für das Space -Argument verwenden. Diese Zeichenfolge wird vor jedem Schlüsselwertpaar als Substring hinzugefügt. Um dies zu demonstrieren, nehmen Sie die folgende Codezeile:

Konsole.Protokoll (JSON.Stringify (Person, null, "s"));

Sie erhalten das folgende Ergebnis auf Ihrer Konsole:

Wie Sie sehen können, das Argument "S" wurde vor jedem als Substring hinzugefügt Schlüsselwert Paar.

Abschluss

Der JSON.Stringify () -Methode wird verwendet, um JavaScript -Objekte in JSON -Zeichenfolgen umzuwandeln, damit sie über das Internet oder zwischen verschiedenen Anwendungen auf Ihrem lokalen Computer übertragen werden können. Diese Methode wurde in JavaScript mit der Veröffentlichung der ECMAV6 -Version von JavaScript auf der V8 JavaScript -Engine hinzugefügt. In diesem Beitrag haben wir die Details der Stringify () Methode und ihre Verwendung zusammen mit seinen Beispielen.