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

Standardowo, zaczniemy od wyjaśnienia terminu 😊!

CO OZNACZA "JSON"?

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 😮!

To jest przykład 👇:

{
	"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.

JAKA JEST WADA PLIKÓW JSON?

Wadą plików JSON jest podatność danych na edycje. Ich treści 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ł.

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

CZYM SIĘ RÓŻNI OBIEKT W KODZIE OD PLIKU JSON W JĘZYKU JAVASCRIPT?

Pomiędzy obiektem w kodzie, a plikiem JSON, występują następujące różnice 👇:

  • nazwy składowych obiektu nie muszą występować w cudzysłowach (choć mogą ✔️), w pliku JSON już tak,
  • obiekt w kodzie może mieć metody, plik JSON przechowuje tylko same dane.

A teraz rozwijam oba punkty 🚀!

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") 🙂.

W JAKI SPOSÓB WYWOŁUEMY METODY DO OBSŁUGI "JSON" W JĘZYKU JAVASCRIPT?

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

Piszemy w taki sposób 👇:

JSON.[metoda]([parametry]);

JAKIE SĄ PRZYKŁADOWE METODY DO OBSŁUGI "JSON" W JĘZYKU JAVASCRIPT?

2 najbardziej podstawowe metody, które mają związek z plikami JSON, to 👇:

  1. stringify,
  2. parse.

Wyjaśnimy je sobie na przykładach 😄!

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);

Zanim skończymy, dodam od siebie pewną radę 📖.

DLACZEGO LICZBY ZMIENNOPRZECINKOWE LEPIEJ ZAPISYWAĆ DO PLIKU "JSON" JAKO ŁAŃCUCH ZNAKÓW?

Zaleca się, aby liczby zmiennoprzecinkowe (te z ułamkiem) wpisywać 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