JSON .stringify()
Eine übliche Verwendung von JSON ist der Austausch von Daten zu/von einem Webserver.
Beim Senden von Daten an einen Webserver müssen die Daten eine Zeichenfolge sein.
Konvertieren Sie ein JavaScript-Objekt mit in einen String JSON.stringify()
.
Stringifizieren Sie ein JavaScript-Objekt
Stellen Sie sich vor, wir haben dieses Objekt in JavaScript:
const obj = {name: "John", age: 30, city: "New York"};
Verwenden Sie die JavaScript-Funktion JSON.stringify()
, um es in einen String umzuwandeln.
const myJSON = JSON.stringify(obj);
Das Ergebnis ist ein String nach der JSON-Notation.
myJSON
ist jetzt ein String und kann an einen Server gesendet werden:
Beispiel
const obj = {name: "John", age: 30, city: "New York"};
const myJSON =
JSON.stringify(obj);
In den nächsten Kapiteln erfahren Sie, wie Sie JSON an einen Server senden.
Stringifizieren Sie ein JavaScript-Array
Es ist auch möglich, JavaScript-Arrays zu stringifizieren:
Stellen Sie sich vor, wir haben dieses Array in JavaScript:
const arr = ["John", "Peter", "Sally", "Jane"];
Verwenden Sie die JavaScript-Funktion JSON.stringify()
, um es in einen String umzuwandeln.
const myJSON = JSON.stringify(arr);
Das Ergebnis ist ein String nach der JSON-Notation.
myJSON
ist jetzt ein String und kann an einen Server gesendet werden:
Beispiel
const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON =
JSON.stringify(arr);
In den nächsten Kapiteln erfahren Sie, wie Sie einen JSON-String an einen Server senden.
Daten speichern
Beim Speichern von Daten müssen die Daten ein bestimmtes Format haben, und unabhängig davon, wo Sie sie speichern, ist Text immer eines der legalen Formate.
JSON ermöglicht es, JavaScript-Objekte als Text zu speichern.
Beispiel
Speichern von Daten im lokalen Speicher
// Storing data:
const myObj = {name: "John",
age: 31, city: "New York"};
const myJSON =
JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
// Retrieving data:
let text = localStorage.getItem("testJSON");
let obj =
JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
Ausnahmen
Daten stringifizieren
In JSON sind Datumsobjekte nicht zulässig. Die JSON.stringify()
Funktion konvertiert beliebige Daten in Zeichenfolgen.
Beispiel
const obj = {name: "John", today: new Date(), city : "New York"};
const myJSON = JSON.stringify(obj);
Sie können den String beim Empfänger wieder in ein Datumsobjekt umwandeln.
Stringify-Funktionen
In JSON sind Funktionen als Objektwerte nicht zulässig.
Die JSON.stringify()
Funktion entfernt alle Funktionen aus einem JavaScript-Objekt, sowohl den Schlüssel als auch den Wert:
Beispiel
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
const myJSON = JSON.stringify(obj);
Dies kann weggelassen werden, wenn Sie Ihre Funktionen vor dem Ausführen der JSON.stringify()
Funktion in Zeichenfolgen konvertieren.
Beispiel
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);
Wenn Sie Funktionen mit JSON senden, verlieren die Funktionen ihren Gültigkeitsbereich, und der Empfänger müsste eval() verwenden, um sie wieder in Funktionen umzuwandeln.