CodeGym /Kursy /Python SELF PL /Wprowadzenie do JSON

Wprowadzenie do JSON

Python SELF PL
Poziom 23 , Lekcja 0
Dostępny

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ść.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION