JSON in JavaScript: vollständiger Leitfaden zum Parsen und Serialisieren

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

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); // false


Wichtig: 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()); // 1990


JSON 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