Iga Lewandowska I EMII MU • JSON (JavaScript Object Notation) jest prostym formatem wymiany danych.

Download Report

Transcript Iga Lewandowska I EMII MU • JSON (JavaScript Object Notation) jest prostym formatem wymiany danych.

Iga Lewandowska
I EMII MU
• JSON (JavaScript Object Notation) jest
prostym formatem wymiany danych. Zapis
i odczyt danych w tym formacie jest jest
bardzo łatwy do opanowania przez ludzi
oraz z łatwością odczytują go i generują
komputery.
• JSON jest formatem tekstowym, co
sprawia , że jest całkowicie niezależny od
języków programowania, ale używa
konwencji, które są znane programistom
korzystającym z języków z rodziny C, w
tym C++, C#, Java, JavaScript, Perl,
Python itp.
• Prekursorem formatu JSON był Douglas
Crockford .
• W 2002 roku została uruchomiona
pierwsza strona poświęcona standardowi
JSON, mianowicie www.JSON.org .
• W grudniu 2005 r. Yahoo! rozpoczął
oferowanie niektórych swoich usług
internetowych w formacie JSON
Standard JSON powstał w oparciu o dwie
podstawowe struktury danych:
• - Zbiór par nazwa/wartość. W różnych językach
jest to implementowane jako obiekt, rekord,
struktura, słownik, tabela hash, lista z kluczem.
• - Uporządkowana lista wartości. W większości
języków implementuje się to za pomocą tabeli,
wektora, listy, lub sekwencji
Format JSON przybiera
następujące formy:
• Obiekt jest nieuporządkowanym zbiorem
par nazwa/wartość. Opis każdego obiektu
rozpoczyna { (lewa klamra) a
kończy } (prawa klamra). Po każdej
nazwie następuje : (dwukropek) oraz pary
nazwa/wartość,
oddzielone , (przecinkiem).
• Tabela jest uporządkowanym zbiorem
wartości. Opis tabeli rozpoczyna
znak [ (lewy nawias kwadratowy) a kończy
znak ] (prawy nawias kwadratowy).
Poszczególne wartości oddzielane są
znakiem , (przecinek)
• Wartość to ciąg znakowy, której początek
i koniec oznacza podwójny
cudzysłów, liczba, lub
wartość true (prawda), false (fałsz)
lub null. Może być to także
obiekt lub tabela. Struktury te można
zagnieżdżać.
STWORZENIE LISTY
UŻYTKOWNIKÓW GADU GADU
• Pierwszym krokiem jest stworzenie
przykładowego zbioru danych, np. listy
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"]}
• Przekształcenie tak przygotowanej
zmiennej JavaScriptu w obiektcie JSON
można osiągnąć za pomocą
funkcji eval (skrót od evaluate)
• var obiekt_json = eval("(" + lista_gg_tekst
+ ")");
• 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];
• Obiekty JSON rzadko kiedy służą do
przetrzymywania takich
pojedynczych informacji, ponieważ
zazwyczaj każdy obiekt ma wiele
atrybutów. Może to być np. obiekt
zapisujący adres, w którym znajdować się
będą ulica, numer domu, numer lokalu,
kod pocztowy i nazwa miasta.
• {"ulica": "Krakowska", "dom": "5", "lokal":
"23", "kod": "53-216", "miasto": "Wrocław"}
• A następnie przekazujemy do funkcji eval.
• var jsonobj = eval("(" + adres + ")");Jeśli
chcemy uzyskać teraz kod pocztowy,
wywołujemy:
• var kod_pocztowy = jsonobj["kod"];albo
korzystając ze skróconej formy zapisu,
• var kod_pocztowy = jsonobj.kod; (4)
ZALETY
• JavaScript nie pozwalają na dostęp do
dokumentów (zarówno XML lub HTML),
które pochodzą z innego
serwera. Jednakże, jeśli zaimportować
plik JSON jako znak skrypt oraz wszelkie
dane, JSON może być importowany do
dowolnej strony internetowej.
• Skrypty dla danych JSON są nieco
prostsze niż skrypty do danych XML.
WADY
• Specyficzne dla JSON jest to, że każdy
przecinek, cudzysłów powinien być
dokładnie w danym miejscu.
• JSON może być zbyt skomplikowany dla
nowicjuszy.