Nodea — logo

JSON

JSON (JavaScript Object Notation) to lekki, tekstowy format wymiany danych, który zapisuje informacje w postaci par klucz–wartość oraz uporządkowanych list. Mimo że wywodzi się ze składni obiektów JavaScript, jest całkowicie niezależny od języka programowania i obsługiwany praktycznie wszędzie. Jego siłą jest prostota: pliki JSON są jednocześnie czytelne dla człowieka i błyskawiczne do przetworzenia przez maszynę, dlatego stały się domyślnym językiem komunikacji nowoczesnych aplikacji webowych.

Na czym polega składnia JSON?

Struktura JSON opiera się na dwóch typach kontenerów i kilku typach prostych:

  • obiekt — para nawiasów klamrowych { } zawierająca pary klucz–wartość, np. {"nazwa": "serwer1", "aktywny": true};
  • tablica — nawiasy kwadratowe [ ] grupujące uporządkowaną listę wartości;
  • wartości proste — łańcuchy znaków w cudzysłowach, liczby, wartości logiczne (true/false) oraz null.

Klucze zawsze są tekstem, a struktury można dowolnie zagnieżdżać, budując złożone drzewa danych. Sam format nie przechowuje komentarzy ani nie rozróżnia typów dat — te muszą być zapisane jako tekst zgodnie z przyjętą konwencją.

Zastosowanie w praktyce

Najczęstszym zastosowaniem JSON jest komunikacja przez API w stylu REST: aplikacja frontendowa wysyła zapytanie, a serwer odpowiada payloadem JSON, który przeglądarka od razu zamienia na obiekt. W tym formacie przesyłane są też ładunki webhooków oraz odpowiedzi wielu usług hostingowych i chmurowych.

Poza wymianą danych JSON świetnie sprawdza się w konfiguracji — pliki takie jak package.json czy composer.json opisują zależności projektu w tym właśnie formacie. Bazy dokumentowe (np. MongoDB) przechowują rekordy w strukturze zbliżonej do JSON, a logi aplikacji coraz częściej zapisuje się liniami JSON, aby dało się je łatwo indeksować i przeszukiwać. Popularną odmianą jest JSON-LD, używany do osadzania danych strukturalnych na stronach WWW.

Powiązane pojęcia

Najczęstsze pytania

Czym różni się JSON od XML?

Oba formaty służą do wymiany danych, ale JSON jest zwykle zwięźlejszy i szybszy do sparsowania, bo nie wymaga zamykających tagów. XML pozwala z kolei na atrybuty, przestrzenie nazw i schematy walidacji, więc bywa wybierany tam, gdzie liczy się rozbudowana struktura i formalna weryfikacja dokumentu.