Kopia wikimirror

To jest mirror wiki z pascal.chat. Edycja, historia i logowanie są tam.

JSON/pl

한국어 · English · Polski · Suomi · Русский · 中文(中国) · 日本語

Przegląd

JSON (JavaScript Object Notation) jest to znormalizowany format wymiany danych zapisanych przy użyciu zwykłego tekstu. Jak sama nazwa wskazuje, jest on oparty na podstawie języka programowania JavaScript; jest jednak całkowicie niezależny od języka. Oprócz tego, że ludzie mogą łatwo czytać i pisać pliki JSON, to maszyny również są w stanie parsować i generować te pliki.

W porównaniu z XML, jest bardziej czytelny dla człowieka.

Obiekt JSON

Obiekt JSON to nic innego jak zbiór oddzielonych przecinkami par nazwa/wartość (często nazywanych elementami) ujętych w nawiasy klamrowe:

javascript
{"name1":value1, "name2":value2 ...}

Aby ułatwić ludziom czytanie i wizualizację JSON, pary nazwa/wartość są często wymienione pionowo:

javascript
{
    "name1": value1,
    "name2": value2
}

Nazwa jest łańcuchem znaków ujętych w podwójnych cudzysłowach, a wartością może być jedna z następujących opcji:

Obiekty JSON można zagnieżdżać dowolnie, aby tworzyć jeszcze bardziej złożone obiekty:

javascript
{"user":
    {   "userid": 1900,
        "username": "jsmith",
        "password": "secret",
        "groups": [ "admins", "users", "maintainers"]
    }
}

Sprawdź ten link, aby wyodrębnić informacje, gdy masz kilku użytkowników.

Prawidłowy format JSON

Istnieje kilka zasad i wytycznych, które definiują składnię JSON (patrz RFC 4627):

Implementacja

Implementacja JSON nie jest bardzo rygorystyczna, a aplikacja kliencka i/lub analizator składni mają dużo swobody w egzekwowaniu wytycznych. Ale, jak zwykle podczas pisania kodu

Istnieją dwie główne implementacje JSON:

Oficjalna składnia specyfikacji JSON

Ta implementacja jest ściśle zgodna z wytycznymi dokumentu RFC 8259 i nie pozwala na odstępstwa od specyfikacji.

Składnia JavaScript

Ta implementacja wynika z implementacji języka programowania JavaScript i jako taka pozwala na kilka odchyleń od oficjalnej specyfikacji. Na przykład:

  1. dopuszcza klucze bez cudzysłowu, np. {name: "John Doe" }
  2. dopuszcza pojedyncze cudzysłowy dla kluczy i/lub wartości łańcuchowych; oraz toleruje mieszanie pojedynczych i podwójnych cudzysłowów, np. {'name': "John Doe", "language":'Pascal'}
  3. zezwala na końcowy przecinek po ostatnim elemencie tablicy i/lub obiektu, np. {"keywords":["if","begin","for",], "IDEs":["Lazarus","fpIDE","MSEide"],}

Zobacz też


From the Free Pascal wiki, page "JSON/pl", as it stood on 2020-06-26 after a change by Slawek, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Wersja 1, ostatnia zmiana: WikiArchive, .