1.1 Powstanie JSON
JSON (JavaScript Object Notation) — jest to tekstowy format używany do wymiany danych. Został opracowany na początku lat 2000 przez Douglasa Crockforda i stał się popularny dzięki swojej prostocie i łatwości użycia.
Główna idea JSON polega na stworzeniu formatu, który jest łatwy do czytania przez człowieka i jednocześnie prosty do parsowania i generowania przez programy. JSON był pierwotnie opracowywany na bazie składni JavaScript, ale jego format okazał się na tyle uniwersalny, że jest używany i wspierany przez wiele innych języków programowania. Teraz JSON można używać niezależnie od JavaScript: stał się standardem wymiany danych w różnych systemach i aplikacjach, niezależnie od języka programowania, w którym są napisane.
JSON to w zasadzie zapis stanu obiektu w języku JavaScript. No, prawie. Dlatego JSON jest szczególnie popularny wśród tych, którzy piszą API dla frontendu. Ponadto, JSON jest szeroko wykorzystywany do przechowywania plików konfiguracyjnych i logów.
Główne cechy JSON
Łatwość do czytania:
Format JSON jest łatwy do czytania i rozumienia przez ludzi. Czyni to go wygodnym do użycia w plikach konfiguracyjnych oraz do wymiany danych między klientem a serwerem.
Niezależność językowa:
Chociaż JSON jest pierwotnie oparty na składni JavaScript, można go używać z dowolnym językiem programowania. Wiele języków programowania dostarcza wbudowane biblioteki do pracy z JSON.
Łatwość parsowania:
Parsowanie (od ang. "parsing") — to proces analizy i interpretacji struktury danych, zazwyczaj tekstu lub kodu, w celu wyodrębnienia istotnej informacji. W kontekście programowania parsowanie często jest stosowane do przetwarzania danych tekstowych. JSON można łatwo parsować i generować zarówno po stronie klienta, jak i serwera. Obecnie w każdym języku programowania istnieje biblioteka, która umożliwia łatwe przekształcenie obiektu do JSON i z powrotem.
Standard i wyraźny lider:
Jeszcze 10 lat temu JSON konkurował z XML jako standard API. Obecnie JSON wygrywa i jest wyraźnym liderem. W API swojego backendu możesz obsługiwać tylko JSON, i to będzie wystarczające, nawet jeśli twoje API jest przeznaczone do wywoływania przez inne serwery.
1.2 Struktura JSON
JSON reprezentuje zbiór par "klucz-wartość", a jego składnia składa się z dwóch głównych struktur:
Obiekty: Obiekty to nieuporządkowane zbiory par "klucz-wartość". Klucze to ciągi znaków, a wartości mogą być dowolnym typem danych obsługiwanym przez JSON.
{
"name": "John",
"age": 30,
"isStudent": false,
"courses": ["Math", "Science"],
"address": {
"city": "New York",
"zipCode": "10001"
}
}
Tablice/Listy: Tablice to uporządkowane zbiory wartości (podobnie jak listy w Pythonie). Wartości mogą być dowolnym typem danych obsługiwanym przez JSON.
["Apple", "Banana", "Cherry", 100, 3.14, true]
Bardzo podobne do obiektów w Pythonie, prawda?
Cała rzecz w tym, że JSON to praktycznie standard zapisu danych w JavaScript, a JavaScript w swoim czasie był inspirowany Pythonem. Tak więc, używanie JSON ci się spodoba.
1.3 Typy danych w JSON
JSON obsługuje następujące typy danych:
Ciągi znaków: reprezentowane w cudzysłowach.
"name": "John"
Liczby: mogą być całkowite lub zmiennoprzecinkowe.
"age": 30
Obiekty: nieuporządkowane zbiory par "klucz-wartość".
"address": {
"city": "New York",
"zipCode": "10001"
}
Tablice/Listy: uporządkowane zbiory wartości.
"courses": ["Math", "Science"]
Wartości logiczne: true
lub false
.
"isStudent": false
W przeciwieństwie do Pythona, true
i false
tutaj są pisane małymi literami.
null
: reprezentuje wartość pustą.
"middleName": null
Data i czas: przesyłane jako ciąg znaków.
{
"datetime": "2023-05-15T14:30:00Z",
"date": "2023-05-15",
"time": "14:30:00"
}
Kiedyś były czasami przesyłane jako liczba w formacie UNIX timestamp, ale to podejście odeszło w przeszłość.
GO TO FULL VERSION