Dateien als Einfache Speicherlösung Verwenden
Swipe um das Menü anzuzeigen
Bisher haben Sie gelernt, wie man:
- Daten aus einer Datei liest;
- Daten in eine Datei schreibt;
- Neuen Inhalt anhängt.
Nun ist es an der Zeit, Dateien als einfaches Speichersystem zu verwenden.
Warum wir strukturierte Daten benötigen
Das Speichern von einfachem Text reicht für reale Anwendungen nicht aus.
Zum Beispiel:
First note
Second note
Dies ist schwer zu verwalten, weil:
- Wir keine bestimmte Notiz einfach aktualisieren können;
- Wir die Daten nicht organisieren können;
- Wir keine zusätzlichen Informationen hinzufügen können.
Verwendung von JSON zur Speicherung
Um strukturierte Daten zu speichern, verwenden wir JSON.
JSON sieht aus wie ein JavaScript-Objekt:
[
{ "text": "First note" },
{ "text": "Second note" }
]
Dieses Format ermöglicht es uns:
- Mehrere Einträge zu speichern;
- Daten übersichtlich zu organisieren;
- Damit im Code zu arbeiten.
Schritt 1: Daten aus einer Datei lesen
const fs = require('fs');
const data = fs.readFileSync('notes.json', 'utf-8');
Dies gibt einen String zurück.
Schritt 2: JSON in JavaScript umwandeln
const notes = JSON.parse(data);
Nun ist notes ein echtes Array, mit dem wir arbeiten können.
Schritt 3: Daten aktualisieren
notes.push({ text: 'New note' });
Wir fügen dem Array eine neue Notiz hinzu.
Schritt 4: Daten zurück in die Datei speichern
fs.writeFileSync('notes.json', JSON.stringify(notes));
JSON.stringifywandelt JavaScript zurück in JSON um;- Die Datei wird mit den neuen Daten aktualisiert.
Vollständiges Beispiel
const fs = require('fs');
// Read file
const data = fs.readFileSync('notes.json', 'utf-8');
// Convert to JS
const notes = JSON.parse(data);
// Update data
notes.push({ text: 'Learn Node.js' });
// Save back
fs.writeFileSync('notes.json', JSON.stringify(notes));
Behandlung des ersten Starts (leere Datei)
Wenn die Datei nicht existiert oder leer ist, stürzt die Anwendung ab.
Dies kann behoben werden, indem mit einem leeren Array begonnen wird:
let notes = [];
try {
const data = fs.readFileSync('notes.json', 'utf-8');
notes = JSON.parse(data);
} catch (error) {
notes = [];
}
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen