Utilizzo dei File come Semplice Archivio
Scorri per mostrare il menu
Finora hai imparato a:
- Leggere dati da un file;
- Scrivere dati in un file;
- Aggiungere nuovo contenuto.
Ora è il momento di utilizzare i file come un sistema di archiviazione semplice.
Perché Abbiamo Bisogno di Dati Strutturati
Archiviare testo semplice non è sufficiente per applicazioni reali.
Ad esempio:
First note
Second note
Questo è difficile da gestire perché:
- Non possiamo aggiornare facilmente una nota specifica;
- Non possiamo organizzare i dati;
- Non possiamo aggiungere informazioni extra.
Utilizzo di JSON per l'Archiviazione
Per archiviare dati strutturati, utilizziamo JSON.
JSON appare come un oggetto JavaScript:
[
{ "text": "First note" },
{ "text": "Second note" }
]
Questo formato ci permette di:
- Archiviare più elementi;
- Organizzare i dati in modo chiaro;
- Lavorare con essi nel codice.
Passo 1: Leggere Dati da un File
const fs = require('fs');
const data = fs.readFileSync('notes.json', 'utf-8');
Questo restituisce una stringa.
Passo 2: Convertire JSON in JavaScript
const notes = JSON.parse(data);
Ora notes è un vero array con cui possiamo lavorare.
Passo 3: Aggiornare i Dati
notes.push({ text: 'New note' });
Aggiungiamo una nuova nota all'array.
Passo 4: Salvare i Dati nel File
fs.writeFileSync('notes.json', JSON.stringify(notes));
JSON.stringifyconverte JavaScript nuovamente in JSON;- il file viene aggiornato con i nuovi dati.
Esempio Completo
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));
Gestione della Prima Esecuzione (File Vuoto)
Se il file non esiste o è vuoto, l'applicazione si bloccherà.
Possiamo risolvere questo problema iniziando con un array vuoto:
let notes = [];
try {
const data = fs.readFileSync('notes.json', 'utf-8');
notes = JSON.parse(data);
} catch (error) {
notes = [];
}
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione