navigation Navigation


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

Syntax
JSON.parse(text)
JSON.parse(text, reviver)
Parameter
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

Beispiel
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

Beispiel
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.

Beispiel
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.

Beispiel
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 }