Bonusowy materiał o gromadzeniu danych w języku JavaScript 🍍! Traktuj ten artykuł jako dodatek do materiału o obiektowym typie danych. Samo trzymanie składowych w obiektach nie uchroni danych przed działaniem przycisku "Odśwież" 💣. Wszystko to, co miało swoją obecną wartość jest "wykopywane", jak po restarcie komputera 😵. Musiał istnieć sposób na bezpieczne przechowywanie danych, aby można było później je przywrócić. Tak powstał format JSON w języku JavaScript 🧨! Poznaj tajemnicę tego skrótu i jaką przyjmuje postać 📜.

JSON W JĘZYKU JAVASCRIPT POPULARNYM FORMATEM PLIKÓW Z DANYMI

JSON to skrót od "JavaScript Object Notation" i jest to plik przechowujący wiele danych pewnego obiektu. Stąd w nazwie "notacja obiektowa". I co więcej, istotnie przypomina to obiektowy typ danych języka 😮!

{
	"name": "Jan",
	"surname": "Kowalski",
	"age": 33,
	"profession": "hydraulik"
}

Format JSON w języku JavaScript może być wykorzystywany do przechowywania praktycznie każdych danych. Od kont użytkowników, do poziomów gier. Wadą jest podatność danych na edycje. Pliki JSON są przejrzyste i niezaszyfrowane, więc takie dane można bez problemu modyfikować 🔒. Aby móc uchronić się przed edycją z zewnątrz, trzeba już wdrożyć techniki szyfrowania (ang. encrypting), których nie będę tutaj opisywał.

"OBJECT" VS. JSON

Warto przyjrzeć się różnicom jakie zachodzą pomiędzy obiektem definiowanym w kodzie źródłowym, a notacją "JSON'ową" 👀.

NAZWY W CUDZYSŁOWACH!

Od razu rzuca się w oczy szczegół dotyczący nazw. W notacji JSON, nazwy wszystkich właściwości MUSZĄ być umieszczone w cudzysłowach!!! Tworząc obiekt w kodzie źródłowym jest to już opcjonalne ✅. Może być tak 👇:

const object = {
	"x": 50
};

a może być też tak:

const object = {
	x: 50
};

Natomiast w pliku w formacie ".json", nazwy już obligatoryjnie MUSZĄ być w cudzysłowach 🔔! Jeżeli ich nie będzie, to powstanie błąd podczas odczytu ⛔!

TYLKO SAME WARTOŚCI!

Zapomnij o wstawianiu definicji metod ✋! Format JSON w języku JavaScript służy jedynie do przechowywania danych, a od kodu źródłowego masz plik skryptowy (rozszerzenie ".js") 🙂.

METODY JSON W JĘZYKU JAVASCRIPT

Przytoczę teraz 2 metody konwertujące z jednego do drugiego typu danych. Podkreślam: metody! Więc odwołujemy się do nich poprzez obiekt ⚠️!

Piszemy zatem w taki sposób 👇:

JSON.[metoda]([parametry]);
STRINGIFY

Metoda "stringify" służy do konwertowania obiektu na łańcuchowy typ danych ("string"). Dajmy na to, że mamy taki obiekt 👇:

const object = {
	x: 59,
	y: 74,
	z: 67
};

To po wywołaniu metody "stringify" i podaniu naszego obiektu za parametr, uzyskamy to samo, tylko w formie łańcucha znaków:

console.log(JSON.stringify(object));
PARSE

"parse" robi w drugą stronę ↩️. To jest konwersja łańcucha znaków na obiekt ℹ️. Czyli dysponując takim łańcuchem jaki jest postaci obiektowej 👇:

const stringObject = '{"x":59,"y":74,"z":67}';

możemy przerobić na prawdziwy obiektowy typ danych, korzystając z metody "parse":

const jsonObject = JSON.parse(stringObject);

console.log(jsonObject);

LICZBY ZMIENNOPRZECINKOWE LEPIEJ TRAKTOWAĆ JAK ŁAŃCUCH ZNAKÓW

Zanim skończymy, dodam od siebie pewną radę 📖. Zaleca się, żeby liczby zmiennoprzecinkowe (te z ułamkiem) wpisać do pliku JSON w postaci łańcuchowej ("string")!

{
	"pi": "3.14"
}

W ten sposób, minimalizujemy ryzyko powstania niewielkiej "deformacji" wartości pod wpływem utraty precyzji podczas zaokrąglania przez język programowania, który to importuje ‼️. Wbrew nazwie, niekoniecznie musi to być JavaScript - to może być każdy inny język wspierający odczyt plików typu JSON ✅.

JSON w języku JavaScript

JavaScript Object Notation to format zapisu danych przypominający strukturę obiektowego typu danych. Mimo języka w nazwie, praktycznie każdy inny język programowania jeśli wspiera zapis i odczyt, może operować na pliku ".json".


Najważniejsze zostało przekazane 👍.

PODOBNE ARTYKUŁY