Strony internetowe

Format wymiany danych JSON uzyskuje błogosławieństwo standardów

Авторизация методом POST с отправкой данных в формате JSON

Авторизация методом POST с отправкой данных в формате JSON
Anonim

Nowe, lekkie dane format wymiany dla aplikacji internetowych, uważany przez coraz większą liczbę osób za alternatywę dla XML, zyskał popularność od organu ds. standardów Ecma.

Zgromadzenie Ogólne Ecma zatwierdziło piąte wydanie ECMAScript, według Istvana Sebestyena, sekretarz generalny organizacji. Zawarta w tej nowej wersji ECMAScript, z której popularny JavaScript jest dialektem, jest natywna obsługa JavaScript Object Notation (JSON).

To włączenie "z pewnością będzie miało duży wpływ na programistów," powiedział Douglas Crockford, Architekt oprogramowania Yahoo wymieniany jako twórca JSON.

"JSON jest już dość szeroko wykorzystywany w aplikacjach internetowych. Dzięki wbudowaniu JSON w język ECMAScript, implementacje [JSON] będą szybsze i bezpieczniejsze," powiedział Crockford. Zatwierdzenie jest również oznaką, że społeczność programistów aplikacji internetowych rezygnuje z używania XML jako jedynego pożądanego standardu wymiany danych między różnymi systemami, przynajmniej w tych przypadkach, w których wymagane jest dostarczenie stosunkowo prostych danych strukturalnych.

Nowy standard, oficjalnie zatytułowany ECMA-262, zawiera obiekt do tworzenia i analizowania tekstów JSON. W przeważającej części wynika on z Internetowej Grupy Zadaniowej ds. Inżynierii 2006 RFC 4627, autorstwa Crockforda. Nowy standard ECMAScript próbuje naprawić wiele problemów bezpieczeństwa związanych z JSON.

W ciągu ostatnich kilku lat coraz więcej programistów aplikacji internetowych używało JSON zamiast opartych na XML podejść, takich jak Simple Object Access Protocol, aby oznaczyć dane, aby można je było przesyłać między dwoma komputerami. Stworzyło to dwa niekiedy przeciwstawne obozy w społeczności programistów aplikacji internetowych.

"Podział między adwokatami JSON i XML jest silny i będzie kontynuowany w przewidywalnej przyszłości", powiedział Daniel Markham, architekt Ajax i główny partner w Virginii Firma konsultingowa Bedford Technology Group.

Adwokaci pochwalili JSON za jego prostotę. Zgodnie z RFC, JSON został opracowany specjalnie do obsługi "serializacji danych strukturalnych". JSON to zestaw konwencji lub gramatyki, w jaki sposób zamówić dane do przesłania, aby mógł on zostać przeanalizowany przez odbiorcę. Poświęca reguły JavaScriptu do formatowania obiektów i tablic. W przeciwieństwie do tego, XML opiera się na znacznikach opartych na schemacie, które sprawiają, że zbiory danych są większe i bardziej złożone niż te zwykle renderowane w JSON.

"Jestem fanem JSON nad XML, głównie dlatego, że XML ma dużo fluff syntaktyczny musisz przekopać się, aby uzyskać z niego coś pożytecznego, istnieje tylko dodatkowe obciążenie poznawcze, którego nie masz, jeśli twoje obiekty JavaScript pasują ściśle do twoich jednostek serwerowych "- powiedział Markham. Markham zauważył również, że XML ma elastyczność, której JSON nie może dopasować. "XML pozostaje szwajcarskim scyzorykiem armii Internetu: jest w stanie obsłużyć wszystkie rodzaje danych z dowolnego konektora", powiedział.

Crockford sformułował JSON w 2001 roku pracując nad wieloma aplikacjami internetowymi przy użyciu zestawu narzędzi do tworzenia stron internetowych Ajax, która obejmuje JavaScript, XML i HTML. Stwierdził, że XML jest zbyt obszerny dla jego potrzeb. "XML był po prostu niewybaczalnie brzydki i nieefektywny, więc wymyśliliśmy wykorzystanie reprezentacji danych JavaScript do reprezentowania danych" - powiedział Crockford. Crockford jest powszechnie cytowany jako wynalazca JSON, choć jest skromny w przyjęciu tej apelacji. "Już istniało w przyrodzie, właśnie to odkryłem" - powiedział.

Od czasu powstania w 2001 roku JSON zyskał na popularności. Witryna JSON.org zawiera listę konwerterów JSON dla języków takich jak Perl, Active Server Pages, PHP, C, Java, Python i inne. Yahoo wspiera JSON dla swoich usług internetowych. Najnowsze wersje programów Internet Explorer i Firefox obsługują JSON. JSON "wygląda na to, że będzie to pierwszy fragment ECMAScript 5, który zostanie wdrożony uniwersalnie," powiedział Crockford.

Sam JSON zawsze był częścią ECMAScript, przynajmniej o tyle, o ile Crockford użył gramatyki ECMAScript jako podstawy JSON. Różnica w stosunku do ECMAScript 5, zauważył Crockford, polega na tym, że ECMAScript ma "wbudowaną obsługę bibliotek" dla JSON. Pomoże to w kwestiach bezpieczeństwa.

Większość programistów używała funkcji eval () JavaScript do analizowania tekstu opartego na JSON w użytecznych strukturach danych. Specjaliści od spraw bezpieczeństwa postrzegają to podejście jako wadę bezpieczeństwa, ponieważ ta forma danych wejściowych może umożliwić stronom trzecim wprowadzenie złośliwego kodu. Nowy parser eliminuje potrzebę korzystania z funkcji eval (), powiedział Crockford.

Tim Bray, współtwórca formatu XML i dyrektor technologii internetowych w Sun Microsystems, zauważył, że praktykujący XML, z którymi pracował, zobaczą wartość JSON. "XML ma wiele funkcji, które umożliwiają wymianę dokumentów (blogi, informacje prasowe, zapisy medyczne), a te mogą być niepotrzebne do wymiany czystych danych", zauważył e-mailem. "JSON działa naprawdę dobrze, wymieniając tego rodzaju rzeczy i, podobnie jak XML, jest niezawodnie niezależny od dostawcy."

Bray wątpi, że błogosławieństwo ECMA będzie miało duży wpływ na dalsze przyjmowanie JSON, ponieważ jest już szeroko stosowane i nie jest ". • cierpią z powodu problemów interoperacyjności, które zwykle dotyczą norm. "Oczywiście w ECMAScript [rewizja] nie ma żadnej szkody, uznając rzeczywistość JSON [ale] JSON jest już głęboko wszczepiony w kulturę IT w Internecie."

ECMAScript jest neutralną dla dostawcy wersją języka programowania JavaScript, który pierwotnie był stworzony przez Netscape jako język skryptowy dla przeglądarek internetowych.