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 ✅.
![]() |
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 👍.
