Co to jest json?
Autor: Redakcja Domeny.ForSale Opublikowano
W skrócie: JSON to tekstowy format zapisu i wymiany danych, używany między innymi w aplikacjach, plikach konfiguracyjnych i komunikacji z serwerami. Porządkuje informacje za pomocą nazw, wartości oraz list, dzięki czemu mogą je odczytywać zarówno ludzie, jak i programy. Nie jest językiem programowania — opisuje dane, ale nie zawiera instrukcji ich wykonania.
Do czego służy JSON?
Nazwa JSON pochodzi od JavaScript Object Notation. Choć format wywodzi się z zapisu obiektów w JavaScript, jest niezależny od tego języka. Obsługują go między innymi Python, Java, PHP i C#.
JSON często pojawia się w API, czyli interfejsie umożliwiającym komunikację między programami. Gdy aplikacja sklepu pobiera z serwera nazwę produktu, cenę i dostępność, odpowiedź może otrzymać właśnie w tym formacie. Aplikacja odczytuje wartości i na ich podstawie wyświetla kartę produktu.
Ten sam format służy do zapisywania ustawień programów, eksportowania danych czy przekazywania zdarzeń między usługami. Pliki mają zwykle rozszerzenie .json, ale dane JSON mogą być także przesyłane bez tworzenia osobnego pliku.
Jak wygląda JSON i jak go czytać?
Podstawą wielu dokumentów JSON jest obiekt, czyli zbiór par „nazwa–wartość”. Nazwę nazywa się także kluczem. Poniższy przykład opisuje produkt w sklepie:
{
"nazwa": "Kubek ceramiczny",
"cena": 39.90,
"waluta": "PLN",
"dostepny": true,
"kolory": ["biały", "zielony"],
"producent": {
"nazwa": "Przykładowa Pracownia"
},
"kod_promocyjny": null
}
Nawiasy klamrowe {} oznaczają obiekt. Dwukropek oddziela klucz od wartości, a przecinek rozdziela kolejne pary. W tym przykładzie klucz nazwa ma wartość tekstową Kubek ceramiczny, natomiast cena ma wartość liczbową.
Nawiasy kwadratowe [] oznaczają tablicę, czyli uporządkowaną listę wartości. Lista kolory zawiera dwa teksty. Z kolei producent jest obiektem umieszczonym wewnątrz innego obiektu — takie zagnieżdżenie pozwala grupować powiązane informacje.
JSON dopuszcza sześć rodzajów wartości:
- tekst, zapisany w podwójnych cudzysłowach, np.
"PLN"; - liczbę, np.
39.90lub12; - wartość logiczną:
truealbofalse; null, oznaczające jawny brak wartości;- obiekt, zapisany w
{}; - tablicę, zapisaną w
[].
Cały dokument JSON nie musi być obiektem. Może być również tablicą, tekstem, liczbą lub inną dopuszczalną wartością, choć konkretne API może wymagać określonej struktury.
Zasady zapisu i najczęstsze błędy
JSON ma ścisłą składnię. Klucze obiektów i wartości tekstowe muszą być zapisane w podwójnych cudzysłowach — apostrofy nie są ich zamiennikiem. Liczby dziesiętne zapisuje się z kropką, a nie z przecinkiem, niezależnie od polskich zasad zapisu liczb.
Po ostatnim elemencie obiektu lub tablicy nie wolno dodawać przecinka. Standardowy JSON nie obsługuje też komentarzy. Dlatego poniższy zapis jest błędny:
{'nazwa': 'Kubek', 'cena': 39.90,}
Poprawna wersja wygląda tak:
{"nazwa": "Kubek", "cena": 39.90}
Spacje, wcięcia i podziały wierszy poza tekstami służą czytelności — nie zmieniają znaczenia danych. Natomiast cudzysłów wewnątrz tekstu wymaga poprzedzenia ukośnikiem odwrotnym, np. "Kubek \"Poranek\"". Sam ukośnik odwrotny zapisuje się jako \\.
Poprawna składnia nie oznacza jeszcze poprawnych danych. Wartość "39.90" jest tekstem, a 39.90 liczbą. Obie są dozwolone w JSON, lecz program oczekujący liczby może odrzucić tekst. Podobnie null, pusty tekst "" i brak klucza to różne sytuacje, których znaczenie zależy od aplikacji.
Unikaj także powtarzania tej samej nazwy klucza w jednym obiekcie. Programy mogą różnie interpretować takie dane, na przykład zachować tylko ostatnią wartość.
Jak otworzyć i sprawdzić plik JSON?
Plik JSON otworzysz w zwykłym edytorze tekstu. Wygodniejszy będzie edytor kodu, który koloruje składnię, porządkuje wcięcia i wskazuje błędy. Do samego odczytu nie potrzebujesz uruchamiać serwera ani instalować środowiska programistycznego.
Jeśli plik nie działa w aplikacji, sprawdź go w tej kolejności:
- Zrób kopię pliku przed edycją.
- Sprawdź składnię narzędziem do walidacji JSON: cudzysłowy, przecinki i zamknięcia nawiasów.
- Porównaj nazwy pól oraz typy wartości z dokumentacją aplikacji.
- Sprawdź wymagane pola i dopuszczalne wartości, np. kod waluty lub format daty.
JSON nie ma osobnego typu daty, dlatego daty często zapisuje się jako tekst według ustalonej konwencji. Wymagania dotyczące struktury można opisać za pomocą JSON Schema — reguł określających między innymi obowiązkowe pola i ich typy.
Nie wklejaj plików zawierających hasła, klucze API lub dane osobowe do przypadkowych walidatorów internetowych. Takie dane sprawdzaj lokalnie w zaufanym narzędziu.
Kiedy wybrać JSON, a kiedy inny format?
JSON sprawdza się, gdy dane mają zagnieżdżoną strukturę: zamówienie zawiera klienta, adres i listę produktów. Do prostej tabeli przeznaczonej do arkusza kalkulacyjnego wygodniejszy może być CSV, czyli format zapisujący dane w wierszach i kolumnach.
Przy integracji z cudzą usługą format nie jest dowolny — decyduje jej dokumentacja. Zacznij od przykładowego komunikatu wymaganego przez usługę, zmień kilka wartości i sprawdź zarówno składnię, jak i zgodność pól. To pozwoli odróżnić błąd zapisu JSON od błędu w danych oczekiwanych przez program.
Zobacz też: Co to jest CDN?
