JSON.parse()
JSON.parse()
ist ein eingebautes Werkzeug in JavaScript, das einen gültigen JSON-String nimmt und daraus ein nutzbares JavaScript-Objekt erstellt. Es ist unverzichtbar beim Parsen von API-Antworten, dem Einlesen gespeicherter Daten (z.B. aus localStorage) oder dem Verarbeiten von Konfigurationsdateien.
Die Methode JSON.parse()
dient der Umwandlung eines JSON-Strings in ein entsprechendes JavaScript-Objekt. Die Methode analysiert einen JSON-String und wandelt ihn in die entsprechende JavaScript-Datenstruktur um. Dies kann ein Objekt, ein Array, ein String, eine Zahl, ein Boolean oder null sein. Falls der String ungültiges JSON enthält, wird ein Fehler ausgelöst.
Hinweis: Zu beachten gilt, dass die JSON-Schlüssel in doppelten Anführungszeichen stehen müssen.
Syntax
JSON.parse(text)
JSON.parse(text, reviver)
text
Der JSON-String, der in ein JavaScript-Objekt umgewandelt wird. Dieser String muss strenge JSON-Syntaxregeln befolgen.
reviver
(Optional) Eine Funktion, die es ermöglicht, die Werte nach der Umwandlung zu modifizieren. Dies ist nützlich, wenn man spezielle Verarbeitungsschritte durchführen möchte, nachdem die Struktur aus dem JSON-String erstellt wurde.
Grundlegende Beispiele
Beispiel - Einfache Umwandlung
const jsonString = '{ "name": "John", "age": 28, "isStudent": false }';
const parsedData = JSON.parse(jsonString);
console.log(parsedData);
{ name: 'John', age: 28, isStudent: false }
Beispiel - JSON-String zu einem Array
const jsonArray = '[1, 2, 3, 4, 5]';
const jsArray = JSON.parse(jsonArray);
console.log(jsArray);
[ 1, 2, 3, 4, 5 ]
Beispiel - Fehlermeldungen bei ungültigem JSON
Wenn der JSON-String nicht den formalen Anforderungen des JSON-Formats entspricht, wird ein Syntaxfehler (SyntaxError) ausgelöst.
const invalidJSON = '{"name": "John", "age": 20, "isStudent": false,}';
try {
const parsedData = JSON.parse(invalidJSON);
} catch (error) {
console.log("Parsing error:", error.message);
}
Parsing error: Expected double-quoted property name in JSON at position 47 (line 1 column 48)
Parameter: reviver
Der reviver
Parameter ist eine optionale Funktion, die es ermöglicht, die Werte während des Parsing-Prozesses zu verändern oder zu filtern. Wenn der reviver Parameter verwendet wird, durchläuft die Funktion alle Schlüssel und Werte des resultierenden Objekts und ermöglicht es, Anpassungen vorzunehmen.
const jsonString = '{"name": "John", "age": 30, "height": 190}';
const parsedData = JSON.parse(jsonString, (key, value) => {
return typeof value === "number" ? value * 2 : value;
});
console.log(parsedData);
{ name: 'John', age: 60, height: 380 }