Використання Файлів як Простого Сховища
Свайпніть щоб показати меню
До цього моменту ви дізналися, як:
- Зчитувати дані з файлу;
- Записувати дані у файл;
- Додавати новий вміст.
Тепер настав час використовувати файли як просту систему зберігання.
Навіщо потрібні структуровані дані
Зберігання простого тексту недостатньо для реальних застосунків.
Наприклад:
First note
Second note
Це важко керувати, оскільки:
- Неможливо легко оновити конкретну нотатку;
- Неможливо організувати дані;
- Неможливо додати додаткову інформацію.
Використання JSON для зберігання
Для зберігання структурованих даних використовується JSON.
JSON виглядає як об'єкт JavaScript:
[
{ "text": "First note" },
{ "text": "Second note" }
]
Цей формат дозволяє:
- Зберігати декілька елементів;
- Чітко організовувати дані;
- Працювати з ними у коді.
Крок 1: Зчитування даних з файлу
const fs = require('fs');
const data = fs.readFileSync('notes.json', 'utf-8');
Це повертає рядок.
Крок 2: Перетворення JSON у JavaScript
const notes = JSON.parse(data);
Тепер notes — це справжній масив, з яким можна працювати.
Крок 3: Оновлення даних
notes.push({ text: 'New note' });
Додається нова нотатка до масиву.
Крок 4: Збереження даних назад у файл
fs.writeFileSync('notes.json', JSON.stringify(notes));
JSON.stringifyперетворює JavaScript назад у JSON;- файл оновлюється новими даними.
Повний приклад
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));
Обробка першого запуску (порожній файл)
Якщо файл не існує або порожній, застосунок аварійно завершить роботу.
Це можна виправити, починаючи з порожнього масиву:
let notes = [];
try {
const data = fs.readFileSync('notes.json', 'utf-8');
notes = JSON.parse(data);
} catch (error) {
notes = [];
}
Все було зрозуміло?
Дякуємо за ваш відгук!
Секція 1. Розділ 24
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Секція 1. Розділ 24