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.
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
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.
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" }
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ę:
Aspekt | JSON | XML |
---|---|---|
Czytelność | Bardzo czytelny | Dużo tagów |
Rozmiar | Kompaktowy | Więcej znaków |
Parsowanie | Szybkie | Wolniejsze |
Wsparcie języków | Wszystkie | Wszystkie |
Metadane | Ograniczone | Bogate (atrybuty) |
JSON:
{"imie": "Jan", "wiek": 25}
XML:
<osoba><imie>Jan</imie><wiek>25</wiek></osoba>
Częste błędy w JSON
{imie: "Jan"}
❌ Poprawnie: {"imie": "Jan"}
✅{"imie": "Jan",}
❌ JSON nie pozwala na końcowe przecinki!{'imie': 'Jan'}
❌ Tylko podwójne cudzysłowy: {"imie": "Jan"}
✅// 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
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.
Tak! JSON może mieć obiekty wewnątrz obiektów i tablice wewnątrz tablic. Nie ma limitu głębokości zagnieżdżenia.
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.
Nie, JSON nie obsługuje komentarzy. To celowa decyzja – JSON ma być prosty. Jeśli potrzebujesz komentarzy, użyj JSON5 lub HJSON.
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!