JSON – format wymiany danych

TL;DR: JSON to sposób zapisywania danych w formacie tekstowym, który jest łatwy do odczytania zarówno dla ludzi jak i komputerów. Używa się go do przesyłania danych między aplikacjami, szczególnie w API. Składnia przypomina obiekty JavaScript – klucze w cudzysłowach, wartości mogą być tekstem, liczbami, listami.

Jeśli zaczynasz przygodę z programowaniem, szybko spotkasz się z trzyliterowym skrótem JSON. Ten format danych jest wszędzie – w aplikacjach mobilnych, stronach internetowych, komunikacji między serwerami. Zrozumienie JSON to podstawa nowoczesnego programowania.

Dlaczego JSON jest ważny

W 2016 roku JSON (JavaScript Object Notation) stał się de facto standardem wymiany danych w internecie. Zastąpił ciężki i skomplikowany XML w większości nowych aplikacji. Dzisiaj praktycznie każde API używa JSON do komunikacji.

JSON to język komunikacji nowoczesnego internetu. Gdy aplikacja na telefonie pobiera listę wiadomości, serwer wysyła dane w formacie JSON. Gdy strona internetowa zapisuje formularz, dane często są konwertowane na JSON.

Co się nauczysz:

  • Czym jest JSON i dlaczego jest tak popularny
  • Jak wygląda składnia JSON
  • Jakie typy danych można zapisać w JSON
  • Jak używać JSON w praktyce
  • Różnice między JSON a XML

Wymagania wstępne:

  • Podstawowe pojęcie o programowaniu
  • Znajomość pojęć: tekst, liczba, lista
  • Nie musisz znać JavaScript!

Czym dokładnie jest JSON

Analogia: JSON to jak uniwersalny słownik. Zamiast tłumaczyć z polskiego na angielski, tłumaczysz z „języka komputera A” na „język komputera B”. Każdy komputer rozumie JSON, więc mogą się porozumieć.

JSON (JavaScript Object Notation) to format tekstowy do przechowywania i przesyłania danych. Pomimo nazwy, JSON nie jest związany tylko z JavaScript – używa go każdy popularny język programowania.

Format danych – sposób zapisywania informacji w pliku lub komunikacji między programami. Inne przykłady: CSV (dla tabel), XML (dla dokumentów), PDF (dla dokumentów do druku).

Podstawowa składnia JSON

JSON składa się z par klucz-wartość, podobnie jak słownik czy encyklopedia:

{
  "imie": "Jan",
  "nazwisko": "Kowalski",
  "wiek": 25,
  "miasto": "Warszawa"
}
Kluczowe zasady JSON: klucze zawsze w cudzysłowach, wartości tekstowe w cudzysłowach, liczby bez cudzysłowów, przecinki między parami, klamry {} dla obiektów.

Typy danych w JSON

{
  "tekst": "To jest string",
  "liczba": 42,
  "liczba_z_przecinkiem": 3.14,
  "prawda_fałsz": true,
  "brak_wartości": null,
  "lista": ["jabłko", "gruszka", "banan"],
  "obiekt_zagnieżdżony": {
    "ulica": "Marszałkowska 1",
    "kod": "00-001"
  }
}

Praktyczne przykłady

Informacje o użytkowniku

{
  "id": 123,
  "nazwa_uzytkownika": "jan.kowalski",
  "email": "jan@example.com",
  "aktywny": true,
  "data_rejestracji": "2016-01-15",
  "uprawnienia": ["czytanie", "pisanie"],
  "profil": {
    "imie": "Jan",
    "nazwisko": "Kowalski",
    "avatar": "https://example.com/avatar.jpg"
  }
}

Lista produktów w sklepie

{
  "produkty": [
    {
      "id": 1,
      "nazwa": "Laptop Dell",
      "cena": 2499.99,
      "dostepny": true,
      "kategorie": ["elektronika", "komputery"]
    },
    {
      "id": 2,
      "nazwa": "Mysz optyczna",
      "cena": 29.99,
      "dostepny": false,
      "kategorie": ["elektronika", "akcesoria"]
    }
  ],
  "liczba_produktow": 2,
  "strona": 1
}

JSON vs XML – porównanie

Przed JSON popularne było XML. Zobaczmy różnicę:

AspektJSONXML
CzytelnośćBardzo czytelnyDużo tagów
RozmiarKompaktowyWięcej znaków
ParsowanieSzybkieWolniejsze
Wsparcie językówWszystkieWszystkie
MetadaneOgraniczoneBogate (atrybuty)
Przykład tej samej informacji:
JSON: {"imie": "Jan", "wiek": 25}
XML: <osoba><imie>Jan</imie><wiek>25</wiek></osoba>

Częste błędy w JSON

Błąd #1: Brakujące cudzysłowy wokół kluczy: {imie: "Jan"} ❌ Poprawnie: {"imie": "Jan"}
Błąd #2: Przecinek na końcu: {"imie": "Jan",} ❌ JSON nie pozwala na końcowe przecinki!
Błąd #3: Pojedyncze cudzysłowy: {'imie': 'Jan'} ❌ Tylko podwójne cudzysłowy: {"imie": "Jan"}
Błąd #4: Komentarze w JSON: JSON nie obsługuje komentarzy jak // to jest komentarz

JSON w praktyce

Sprawdzanie poprawności

JSON musi być poprawny składniowo. Jeden błąd i całość nie będzie działać. Używaj narzędzi online do sprawdzania:

  • JSONLint.com – sprawdza czy JSON jest poprawny
  • JSON Formatter – formatuje JSON dla lepszej czytelności

JSON w różnych językach

// Java - biblioteka Jackson
String json = "{\"imie\":\"Jan\",\"wiek\":25}";
ObjectMapper mapper = new ObjectMapper();
Person person = mapper.readValue(json, Person.class);
// JavaScript - wbudowane wsparcie
var json = '{"imie":"Jan","wiek":25}';
var person = JSON.parse(json);
console.log(person.imie); // Jan

Czy JSON to to samo co JavaScript?

Nie! JSON to tylko format danych. Powstał na bazie JavaScript ale używa go każdy język programowania – Java, Python, C#, PHP i inne.

Czy można zagnieżdżać obiekty w JSON?

Tak! JSON może mieć obiekty wewnątrz obiektów i tablice wewnątrz tablic. Nie ma limitu głębokości zagnieżdżenia.

Dlaczego JSON jest lepszy od XML?

JSON jest prostszy, krótszy i szybszy do parsowania. XML ma więcej możliwości (atrybuty, namespace) ale dla podstawowej wymiany danych JSON wystarcza.

Czy JSON obsługuje komentarze?

Nie, JSON nie obsługuje komentarzy. To celowa decyzja – JSON ma być prosty. Jeśli potrzebujesz komentarzy, użyj JSON5 lub HJSON.

Jak zapisać datę w JSON?

JSON nie ma typu „data”. Zapisuj daty jako teksty w formacie ISO: „2016-04-10T14:30:00Z” lub jako liczby (timestamp).

Przydatne zasoby:

🚀 Zadanie dla Ciebie

Stwórz JSON reprezentujący Twoją ulubioną książkę:

  • Tytuł, autor, rok wydania
  • Lista gatunków (fantasy, sci-fi, etc.)
  • Czy książka jest dostępna
  • Ocena (liczba od 1 do 10)
  • Informacje o wydawnictwie (nazwa, miasto)

Sprawdź czy Twój JSON jest poprawny używając JSONLint.com

Masz pytania o JSON? Podziel się swoimi doświadczeniami w komentarzach – JSON na początku może wydawać się skomplikowany, ale szybko stanie się naturalny!

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Przewijanie do góry