Jesteś tutaj: webmade.org >> porady >> javascript
autor: Patryk 'yarpo' Jar, ostatnia modyfikacja: 2007-09-07
JSON, to nie tyle technologia czy nowy język co inne spojrzenie na to co już istnieje. Być może nawet samo odkodowanie tego skrótu da już nam dużo więcej informacji: "Java Script Object Notation", czyli format wymiany danych, podobnie jak XML. Jednak XML (eXtensible Markup Language) ma w porównaniu z JSONem [wymawiane jak angielskie imię "dżejson"] jeden minus – do jego wykorzystania w projektach webmasterkich najczęściej potrzebujemy dodatkowych klas i obiektów (o czym więcej w poradzie klasa ObjTree).
JSON w JS może być szybko przetworzony w JS za pomocą funkcji eval(). Może zatem przykład danych:
(najpierw – trochę bardziej zrozumiałe, dla webmastera, dane w formacie XML):
<?xml version="1.0" encoding="utf-8"?> <dane> <user> <imie>jan</imie> <nazwisko>Kowalski</nazwisko> </user> <user> <imie>Piotr</imie> <nazwisko>Nowak</nazwisko> </user> </dane>
W JSON dane takie wyglądały następująco:
{ "dane" : { "user" : [ { "imie" : "Jan", "nazwisko" : "Kowalski" }, { "imie" : "Piotr", "nazwisko" : "Nowak" } ] } }
Przyjmijmy, że stosując AJAX takie dane otrzymujemy jako wynik działania skryptu na serwerze. W przypadku XML pewnie skorzystamy z metody responseXML() i następnie będziemy się bawić z odpowiednim pobieraniem danych – dla początkujące moze to być naprawdę niezbyt przyjemne (jeśli się korzysta z gołego obiektu XMLHttpRequest). W przypadku JSONa, polecałbym coś takiego:
/* Stworzenie obiektu XMLHttpRequest wysłanie odpowiednich danych na serwer i uzykanie odpowiedzi: */ var json_tekst = HTTPrequest.responseText; // uzyskuje dane w postaci ciągu znaków eval("var json_obiekt = ("+json_tekst+")"); for (i=0; i<json_obiekt.dane.user.length; i++) alert( json_obiekt.dane.user[i].imie + ' ' + json_obiekt.dane.user[i].nazwisko );
Oczywiście to tylko drobna część możliwości JSONa. Warto jednak o nim pamiętać, jeśli przyjdzie nam robić cokolwiek z danymi otrzymywanymi z serwera [niekoniecznie naszego, coraz częściej potrzebujemy danych z „obcych” serwerów].
Warto byłoby także zapoznać się z:
Patryk 'yarpo' Jar
szukaj: JSON Java Script Object Notation XML AJAX JS
Osoby czytające tę publikację przeglądały również:
© 2004-2008 copyright by webmade.org