Ćwiczenia 13 - Tworzenie nowoczesnych aplikacji webowych

Table of Contents

Porady

JSON

Zmiana obiektu na napis

Zmianę obiektu na napis json-owy wykonujemy za pomocą funkcji JSON.stringify:

const napis = JSON.stringify({a: "A", b: "B", c: "C"})
console.log(napis)
{"a":"A","b":"B","c":"C"}

Zmiana napisu na obiekt

Napis json-owy można zmienić ponownie na obiekt za pomocą funkcji JSON.parse

const obiekt = JSON.parse('{"a":"A","b":"B","c":"C"}');
console.log(obiekt["a"])
A

Pisanie do pliku

Zapis pliku można wykonać za pomocą fs.writeFileSync

const napis = "ABCDEFGH";
fs.writeFileSync("./db.json", napis)

Zapisywanie obiektu do pliku

Aby zapisać JSON-a do pliku, należy najpierw zmienić obiekt na napis, a następnie zapisać do pliku ten napis.

const obiekt = {a: "A", b: "B", c: "C"};
const napis = JSON.stringify(obiekt)
fs.writeFileSync("./db.json", napis)

Edytowanie pliku JSON

Aby edytować plik JSON, należy go najpierw odczytać i sparsować, zmienić wartośc w odczytanym obiekcie, a następnie zapisać nowy obiekt

const napis_z_pliku = fs.readFileSync("./db.json");
const db = JSON.parse(napis_z_pliku);
db["users"]["mariola"] = "hasło12123123";
const nowy_napis = JSON.stringify(db)
fs.writeFileSync("./db.json", napis);

1. Baza danych w pliku (10pkt)

Rozszerz aplikację z Ćwiczeń 12 tak, aby informacje o użytkownikach i hasłach były przechowywane w bazie danych w postaci pliku db.json.

Proponowana struktura pliku db.json:

{
  "users": {
    "admin": "haslo123",
    "user1": "hasło1",
    "user2": "doniczka555",
    "adam": "skoczek111"
  }
}
  • Formularz logowania powinien wyświetlać napis "zalogowano" tylko, gdy użytkownik poda taką parę login+hasło, jaka istnieje w bazie danych
  • Dodać formularz rejestracji, w którym użytkownik podaje login i hasło. Po wciśnięciu przycisku "zarejestruj" pojawia się napis "zarejestrowano" i wpisany login i hasło są zapisywane w pliku db.json.

Author: Sealcode.org (Kuba Orlik)

Created: 2022-05-31 Tue 14:55

Validate