Sign in Join
Wiki copytemporary

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.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.