Arbeiten mit JSON in JavaScript: Parsen und Serialisieren in der Praxis
JSON (JavaScript Object Notation) ist ein leichtgewichtiges Datenaustauschformat, das in modernen Webanwendungen weit verbreitet ist. In JavaScript ist die Arbeit mit JSON auf Sprachebene integriert, was es zu einem idealen Werkzeug für den Datenaustausch zwischen Client und Server sowie zum Speichern von Konfigurationen macht. In diesem Artikel werden wir behandeln, wie man JSON in der Node.js-Umgebung parst und serialisiert, praktische Beispiele und Best Practices betrachten.
Was ist JSON und warum wird es benötigt?
JSON ist ein Textformat, das auf der Syntax von JavaScript-Objekten basiert. Es unterstützt die folgenden Datentypen:
- Zeichenketten (in doppelten Anführungszeichen)
- Zahlen (ganze Zahlen und Gleitkommazahlen)
- Boolesche Werte (true/false)
- Arrays
- Objekte
- null
JSON wird überall verwendet: von API-Anfragen bis zu Konfigurationsdateien (z. B. package.json). In Node.js ist JSON das Hauptformat für den Datenaustausch zwischen Microservices.
JSON parsen: Eine Zeichenkette in ein Objekt umwandeln
Zur Umwandlung einer JSON-Zeichenkette in ein JavaScript-Objekt wird die Methode JSON.parse() verwendet. Betrachten wir ein einfaches Beispiel:
const jsonString = '{"name": "Anna", "age": 30, "isStudent": false}';const user = JSON.parse(jsonString);
console.log(user.name); // "Anna"console.log(user.age); // 30console.log(user.isStudent); // falseWichtig: Die JSON-Zeichenkette muss streng formatiert sein. Alle Schlüssel und Zeichenkettenwerte müssen in doppelten Anführungszeichen stehen. Einfache Anführungszeichen oder nachgestellte Kommas führen zu einem Fehler.
Fehlerbehandlung beim Parsen
Bei der Arbeit mit externen Daten (aus Dateien, APIs) besteht immer das Risiko, ungültiges JSON zu erhalten. Verwenden Sie try...catch:
const fs = require('fs');
try { const data = fs.readFileSync('data.json', 'utf8'); const parsed = JSON.parse(data); console.log('Erfolgreich geparst:', parsed);} catch (error) { if (error instanceof SyntaxError) { console.error('JSON-Syntaxfehler:', error.message); } else { console.error('Fehler beim Lesen der Datei:', error.message); }}Parsen mit einer Reviver-Funktion
Die Methode JSON.parse() akzeptiert ein zweites Argument – eine Funktion, die Werte transformieren kann. Dies ist nützlich, z. B. zur Konvertierung von Zeichenketten-Daten in Date-Objekte:
const json = '{"name": "Ivan", "birthDate": "1990-05-15T00:00:00Z"}';const user = JSON.parse(json, (key, value) => { if (key === 'birthDate') { return new Date(value); } return value;});
console.log(user.birthDate instanceof Date); // trueconsole.log(user.birthDate.getFullYear()); // 1990JSON serialisieren: Ein Objekt in eine Zeichenkette umwandeln
Der umgekehrte Prozess – die Umwandlung eines JavaScript-Objekts in eine JSON-Zeichenkette – wird mit JSON.stringify() durchgeführt.
const user = { name: 'Maria', age: 25, skills: ['JavaScript', 'Node.js', 'Python'], isActive: true};
const jsonString = JSON.stringify(user);console.log(jsonString);// {"name":"Maria","age":25,"skills":["JavaScript","Node.js","Python"],"isActive":true}Ausgabe formatieren
Zur besseren Lesbarkeit können Einrückungen hinzugefügt werden:
const prettyJson = JSON.stringify(user, null, 2);console.log(prettyJson);/*{ "name": "Maria", "age": 25, "skills": [ "JavaScript", "Node.js", "Python" ], "isActive": true}*/Filtern und Ersetzen von Werten
Das zweite Argument von JSON.stringify() kann ein Array von Schlüsseln (zum Filtern) oder eine Ersetzungsfunktion sein:
Blogs
Buchempfehlungen
Lesen Sie auch
Warum drucken zufällige Zeichenketten "hello world"? Analyse und Best Practices für Java 2025
Java im Jahr 2025: Was sich ändert und warum Sie Ihren Code aktualisieren sollten
HTTP-Client in PHP: Anfragen richtig stellen
Sortierung von Strukturen in Go: Der kurze Weg und die Magie unter der Haube
Portfolio-Projekte für Python-Entwickler