Tiedostojen Käyttäminen Yksinkertaisena Tallennustilana
Pyyhkäise näyttääksesi valikon
Tähän mennessä olet oppinut:
- Lukemaan tietoa tiedostosta;
- Kirjoittamaan tietoa tiedostoon;
- Lisäämään uutta sisältöä.
Nyt on aika käyttää tiedostoja yksinkertaisena tallennusjärjestelmänä.
Miksi tarvitsemme jäsenneltyä dataa
Pelkkä tekstin tallentaminen ei riitä oikeissa sovelluksissa.
Esimerkiksi:
First note
Second note
Tämän hallinta on hankalaa, koska:
- Emme voi helposti päivittää tiettyä muistiinpanoa;
- Emme voi järjestää tietoja;
- Emme voi lisätä lisätietoja.
JSON:n käyttäminen tallennukseen
Jäsennellyn datan tallentamiseen käytämme JSONia.
JSON näyttää JavaScript-oliolta:
[
{ "text": "First note" },
{ "text": "Second note" }
]
Tämä muoto mahdollistaa:
- Useiden tietueiden tallentamisen;
- Datan selkeän järjestämisen;
- Datan käsittelyn koodissa.
Vaihe 1: Lue data tiedostosta
const fs = require('fs');
const data = fs.readFileSync('notes.json', 'utf-8');
Tämä palauttaa merkkijonon.
Vaihe 2: Muunna JSON JavaScriptiksi
const notes = JSON.parse(data);
Nyt notes on oikea taulukko, jonka kanssa voidaan työskennellä.
Vaihe 3: Päivitä dataa
notes.push({ text: 'New note' });
Lisätään uusi muistiinpano taulukkoon.
Vaihe 4: Tallenna data takaisin tiedostoon
fs.writeFileSync('notes.json', JSON.stringify(notes));
JSON.stringifymuuntaa JavaScriptin takaisin JSONiksi;- tiedosto päivitetään uudella datalla.
Täydellinen esimerkki
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));
Ensimmäisen ajon käsittely (tyhjä tiedosto)
Jos tiedostoa ei ole olemassa tai se on tyhjä, sovellus kaatuu.
Tämän voi korjata aloittamalla tyhjällä taulukolla:
let notes = [];
try {
const data = fs.readFileSync('notes.json', 'utf-8');
notes = JSON.parse(data);
} catch (error) {
notes = [];
}
Oliko kaikki selvää?
Kiitos palautteestasi!
Osio 1. Luku 24
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Osio 1. Luku 24