JSON: jak zapisywać dane w obiektach JavaScriptu?
JSON (Java Script Object Notation) to lekki format wymiany danych komputerowych za pomocą plików tekstowych. Jego notacja jest podzbiorem JavaScriptu, choć on sam dostępny jest też dla wielu innych języków, w tym PHP, Pythona, Javy czy Ruby'ego. Przekazywane w ten sposób dane są łatwe dla odczytania dla człowieka, a ich przekształcenie do postaci wygodnej dla np. przeglądarki, to jedna linijka kodu. Dlatego JSON staje się standardem w rozmaitych webowych aplikacjach – korzystają z niego np. Twitter czy Flickr.
Tworzymy obiekt JSON
Na początek stworzymy sobie przykładowy zbiór danych – np. listę numerów GG użytkowników forum dyskusyjnego. Możemy wykorzystać do tego obiekt, zdefiniowany następująco:
| {"lista_gg": ["1111111", "1111112", "1111113", "1111114", "1111115", "1111116"]} |
Cały obiekt otoczony jest nawiasami klamrowymi i składa się z nazwy wskazującej na wartość. Wartość może być pojedynczą liczbą, tekstowym napisem, czy też tablicą, jak jest w tym wypadku. W tym wypadku obiekt ma jedną nazwę: "lista_gg" – zapisuje się ją w podwójnych cudzysłowach. Od wartości, zapisanej w nawiasach kwadratowych, oddziela ją dwukropek.
Bezpośrednio w JavaScripcie odpowiednikiem tego obiektu JSON będzie odmienny zapis:
| var lista_gg_tekst = "{\"lista_gg\": [\"1111111\", \"1111112\", \"1111113\", \"1111114\", \"1111115\", \"1111116\"]}"; |
Zapisując w ten sposób obiekt JSON musimy przed każdym cudzysłowem podawać ukośniki, aby interpreter JavaScriptu był w stanie odróżnić, które z nich są częścią kodu, a stanowią uporządkowaną listę wartości.
Przekształcenie tak przygotowanej zmiennej JavaScriptu w obiekt JSON można osiągnąć za pomocą funkcji eval (skrót od evaluate)
| var obiekt_json = eval("(" + lista_gg_tekst + ")"); |
Jak widać, aby stworzyć obiekt JSON z napisu, wystarczy otoczyć ciąg okrągłymi nawiasami, a następnie przekazać go do funkcji eval.
Uzyskujemy dostęp do obiektu JSON
Dostęp do wartości zapisanych w tablicy w obiekcie uzyskujemy przez podanie jego nazwy:
| var gg_tablica = jsonobj["lista_gg"]; |
Jeśli chcemy pobrać pierwszy element tablicy, robimy to tak, jak się to robi w JavaScripcie:
| var gg_1 = gg_tablica[0]; |
(pamiętajmy, że pierwszy element nosi numer 0)
Możemy też dostać się do elementów tablicy bez jej bezpośredniego wywoływania:
| var gg_2 = jsonobj["lista_gg"][1]; |
«poprzednia 1 2 następna »
Popularne
Nazwa padła ofiarą szantażystów, inni polscy hosterzy też zagrożeni?
19
Premiera Diablo 3 wzbudziła dyskusję na temat gier, które zawsze chcą być online
19
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Nowy problem z Windows 8: bootuje się za szybko
10
Amerykańscy rodzice straszeni „e-narkotykami” dostępnymi w Sieci
21
Z okazji wypuszczenia akcji Facebooka przypomnijmy sobie, kim jest Zuckerberg
10
Blueseed: libertariańska sztuczna wyspa przyciągnęła już ponad sto startupów z całego świata
8
Rewolucja w Firefoksie, nowa łatka czterokrotnie ograniczyła zużycie pamięci
20
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
CVDazzle: makijaż jest w stanie pokonać automatyczne systemy ulicznego monitoringu
3
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Co czeka programistów po czterdziestce?
27
Ubuntu 12.04 LTS już dostępny: stabilna dystrybucja na następne pięć lat?
28
Społeczność
_Igancio Poziom artykułu jest bardzo niski ! Niczego się nie dowiedziałem , wygląda...
voluu A ja mam problem. MIanowicie, po dodaniu kodu z tego poradnika miniaturki...
Sebek Pozycjonowanie stron za pośrednictwem firm oferujących
swoje usługi nie...
asdosad jak to zrobić na xp??
lol Jak ktoś tu wcześniej zauważył - artykuł jest o niczym, a właściwie ukrytą...
grzybecki To raczej powinien być znak dla programistów Social Media, aby swoje...
facebug @rychu
Strona wchodzi, ślamazarnie ale wchodzi mam takie...
- Najdmen.pl: Konta www z wyłączonym licznikiem transferu od IONIC.pl (1)
- 2BE.PL: [Oferta] Promocja jak złoto w 2BE.PL (1)
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
Polecane książki
Praca
Czytaj Webhosting
Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.
Zarejestruj domenę
Sprawdź dostępność swojej domeny:
| .pl: | 0 zł | .com: | 19.90 zł | |
|---|---|---|---|---|
| .com.pl: | 0 zł | .eu: | 19.90 zł |








