From de5c456ebded0e038adbf23db34cc290c8829180 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:49:24 +0100 Subject: unslug pl: move --- files/pl/json/index.html | 59 ------------------------------------------------ 1 file changed, 59 deletions(-) delete mode 100644 files/pl/json/index.html (limited to 'files/pl/json') diff --git a/files/pl/json/index.html b/files/pl/json/index.html deleted file mode 100644 index 6d023ee69c..0000000000 --- a/files/pl/json/index.html +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: JSON -slug: JSON -translation_of: Glossary/JSON ---- -

JSON (JavaScript Object Notation) jest formatem wymiany danych. Przypomina podzbiór składni JavaScriptu, choć nie jest nim w ścisłym sensie tego terminu. (Zobacz JSON w Dokumentacji JavaScript aby poznać szczegóły). Użyteczny w dowolnym rodzaju aplikacji opartej o JavaScript, m.in. na stronach internetowych i w rozszerzeniach przeglądarek. Przykładowo, dane użytkownika w formacie JSON mogą być przechowywane w ciasteczku (cookie), zaś preferencje rozszerzenia mogą być przechowywane w formacie JSON przez przeglądarkę.

-

JSON może przechowywać liczby (number), wartości logiczne (boolean), ciagi znaków (string), null, tablice (uporządkowane sekwencje wartości) oraz obiekty (zbiory odwzorowań ciąg znaków-wartość) złożone z powyższych wartości (lub z innych tablic i obiektów). Nie definiuje naturalnej reprezentacji dla bardziej złożonych typów danych, jak funkcje, wyrażenia regularne, daty itd. (Obiekty typu Date są domyślnie serializowane w postaci ciągu znaków zawierającego datę w formacie ISO, zatem choć nie zostają odtworzone w oryginalnym formacie, informacja nie jest bezpowrotnie tracona). Gdy niezbędne jest przechowanie tego rodzaju danych, można przekształcić wartości w momencie serializacji, lub przed ich deserializacją, umożliwiając w ten sposób przechowanie w JSON dodatkowych typów danych.

-

Użycie JSON poprzez obiekt JSON w JavaScripcie

-

Najprościej użyć JSON za pośrednictwem standardowego obiektu JSON w JavaScripcie. Użyj JSON.stringify do serializacji wartości w formacie JSON, natomiast do deserializacji - JSON.parse.

-

Na przykład, do serializacji obiektu JavaScript używamy metody JSON.stringify():

-
var foo = {};
-foo.bar = "new property";
-foo.baz = 3;
-
-var JSONfoo = JSON.stringify(foo);
-
-

JSONfoo ma teraz postać {"bar":"new property","baz":3}. Aby przywrócić JSONfoo do postaci obiektu JavaScript wystarczy wykonać:

-
var backToJS = JSON.parse(JSONfoo);
-
-

Więcej informacji znajdziesz w dokumentacji obiektu JSON.

-

Metoda toJSON()

-

Jeśli obiekt definiuje metodę toJSON(), wówczas JSON.stringify wywoła tę metodę aby określić reprezentację obiektu w formacie JSON. Na przykład:

-
x = {};
-x.foo = "foo";
-x.toJSON = function() { return "bar"; };
-var json1 = JSON.stringify(x);
-
-

json1 zawiera teraz '"bar"'.

-

Ograniczenia

-

Nie można serializować obiektu zawierającego funkcje. Specyfikacja JSON nie pozwala na takie działanie. Na przykład:

-
foo.qwerty = function(){alert('foobar');};
-foo.qwerty()
-var JSONfoo = JSON.toString(foo);
-
-

zwróci błąd TypeError on line XXX: No JSON representation for this object!

-

Użycie JSON poprzez nsIJSON

-

Wersje Firefoksa wcześniejsze niż 3.5 nie zawierały wsparcia dla formatu JSON, zaś jedynym sposobem dotarcia do funkcjonalności JSON było wykorzystanie komponentu nsIJSON, dostępnego począwszy od Firefox 3. Kodowanie i dekodowanie wykonywane są przez metody encode i decode komponentu nsIJSON. Metody te zakresem możliwości ustępują metodom dostarczanym przez obiekt JSON, zapewniając wsparcie jedynie tablicom i obiektom, z pominięciem ciągów znaków, wartości logicznych, liczb, czy null. (Wymienione wartości są obsługiwane jedynie wewnątrz tablic i obiektów: sama liczba 5 nie zadziała, lecz obiekt { "value": 5 } już tak).

-

Ze względu na ograniczenia nsIJSON, jego metody encode i decode zostały usunięte począwszy od wersji Firefox 7. Deweloperom zaleca się używanie obiektu JSON.

-

Poniższy kod serializuje obiekt JavaScript przy użyciu nsIJSON:

-
var Ci = Components.interfaces;
-var Cc = Components.classes;
-
-var foo = {};
-foo.bar = "new property";
-foo.baz = 3;
-
-var nativeJSON = Cc["@mozilla.org/dom/json;1"].createInstance(Ci.nsIJSON);
-var JSONfoo = nativeJSON.encode(foo);
-
-

Zmienna JSONfoo przyjmuje teraz wartość {"bar":"new property","baz":3}. Aby stworzyć obiekt odpowiadający JSONfoo, wystarczy wykonać:

-
var backToJS = nativeJSON.decode(JSONfoo);
-
-

Inne sposoby użycia JSON

-

Choć teoretycznie możliwe jest użycie JSON korzystając z eval (lecz tylko do deserializacji do obiektu, nie do serializacji do postaci ciągu znaków), lub z json2.js, nie jest to dobrym pomysłem. Parsowanie JSON przy użyciu eval nie jest bezpieczne, gdyż eval dopuszcza znacznie więcej rodzajów składni niż JSON (w tym nawet wykonywanie całkiem arbitralnego fragmentu kodu). Z kolei problemem json2.js jest dodawanie metod do wbudowanych obiektów, jak Object.prototype, co może skutkować błędami w kodzie, w którym nie przewidziano z góry takiej możliwości. Dlatego w niemal wszystkich przypadkach zaleca się pozostanie przy normalnych metodach użycia JSON. 

-

Zobacz także

- -

{{ languages( { "ja": "ja/JSON", "zh-cn": "zh-cn/JSON" } ) }}

-- cgit v1.2.3-54-g00ecf