Czy pamiętacie Jasona z Gwiezdnego Patrolu lub Jasona Argonautę wyprawiającego się po złote runo? To mityczne imię męskie określa również najważniejsze „dziecko” Douglasa Crockforda, jednego z najwybitniejszych programistów związanych z JavaScript.
JSON (wymawiane jak imię „Jason”) to skrót od „JavaScript Object Notation” i jest tekstowym formatem wymiany danych. Autor JSON’a zaproponował go jako lżejszą alternatywę dla XML, który zaprojektowano przede wszystkim z myślą o przechowywaniu danych. Wszystko, co zostało zapamiętane jako dokument XML można także zapamiętać jako dokument JSON. Tak jak XML, JSON jest formatem wyłącznie tekstowy, a podstawowa jego zaleta to łatwość interpretacji w skryptach JavaScript, bo w gruncie rzeczy jest to kod tego języka.
Rozważmy dane zapisane w XML jako:
<person>
<name>Adam</name>
<surname>Jędrzejewski</surname>
<email>jedrzejewski@op.pl</email>
</person>
Aby wydostać z powyższego kodu poszczególne wartości przy pomocy funkcji napisanej w JavaScript musielibyśmy wykorzystać obiekt DOM i poddać go wielu zabiegom. Zmiana notacji przykładu na JSON wszystko upraszcza:
var person = function() {
this.name = "Adam";
this.surname = "Jędrzejewski";
this.email = "jedrzejewski@op.pl";
}
Teraz name, surname i email są właściwościami obiektu person, który możemy przedstawić w postaci zwartej jako:
{„person”:{
"name":"Adam",
"surname":"Jędrzejewski",
"email":"jedrzejewski@op.pl"
}
}
Postać zwartą obiektu charakteryzuje fakt, iż poszczególne wartości przypisuje się za pomocą dwukropków, przypisania oddziela przecinkami, a cały obiekt znajduje się w nawiasach klamrowych. Zagnieżdżenia nawiasów klamrowych definiują kolejne poziomy informacji.
Dodatkową zaletą stosowania JSON jest fakt, iż w gruncie rzeczy jest to format niezależny od języka programowania. Wiele języków programowania, w tym Perl, C, Python, ActionScript, C#, ColdFusion, E, Java, ML, Objective CAML, PHP, REBOL oraz Ruby wspiera ten format danych poprzez dodatkowe pakiety bądź biblioteki. |