Блог Сергея Байдачного

Мой блог о технологиях

Зарисовки по JavaScript для .NET разработчиков: Любовь к JSON

with one comment

Не знаю как Вам, но мне приходилось писать множество веб-служб для внутреннего использования другими частями приложения. И всегда, когда приходилось принимать решение о том, в каком виде возвращать данные, я выбирал XML. Что может быть лучше супер-универсального протокола SOAP, получившего значительное расширения в WCF? И что может быть проще сериализации и десериализации на основе XML в .NET Framework?

Вот только нужна ли универсальность SOAP и избыточность XML при реализации внутренних служб. Ведь формат передаваемых данных четко специфицирован. Кроме того, что делать разработчику, который программирует клиент, используя JavaScript. Конечно, можно предложить ему набор оберток (сгенерированных внешней утилитой), выполняющих черновую работу или заставить писать клиент только на ASP.NET и использовать ScriptManager. Но есть и другой вариант, состоящий в поддержке Вашими службами протокола JSON.

Ранее, читая о поддержке JSON в ASP.NET или Bing службах, я не придавал этому особого значения, но когда я начал писать приложения на JavaScript, то тут же потерял желание обрабатывать XML.

Прежде чем перейти к описанию работы с JSON, посмотрим на еще один способ создания объекта в JavaScript, это литералы. Вот пример создания небольшого объекта:

 

   1:  var obj1 = {
   2:   
   3:  firstName: "Sergey",
   4:  lastName: "Baydachnyy",
   5:   
   6:  Name: (function () {
   7:  return this.firstName + " " + this.lastName;
   8:  })
   9:   
  10:  };
  11:   
  12:  alert(obj1.Name());

 

Тут мы добавили два поля с данными и один метод. Естественно, что сейчас нас интересуют только данные, но так Вы получите более полное представление о JavaScript. Создав объект таким образом, Вы можете без труда добавлять свойства и методы к этому объекту в любом месте когда (как я писал в первой статье).

Из кода видно, что литерал позволяет создавать объект с помощью литерала в формате имя поля : значение. А вот теперь вернемся к JSON или к JavaScript Object Notation. Уже по одному названию понятно, что данные с помощью JSON передаются в аналогичном формате и практически готовы для создания объекта. «Практически» вкралось не случайно, так как данные могут содержать дополнительную мета информацию и множество лишних кавычек (в формате JSON имя также заключается в кавычки, что не обязательно для литерала).

Чтобы подготовить данные к преобразованию в объект, достаточно использовать специальный объект JSON, содержащий два метода: parse и stringify. Первый метод преобразует JSON данные в объект, а второй – наоборот:

 

   1:  var jsonData = 
   2:     '{"firstName":"Sergiy","lastName":"Baydachnyy"}';
   3:   
   4:  var obj1 = JSON.parse(jsonData);
   5:   
   6:  alert(obj1.firstName);

 

Таким образом, обрабатывать JSON данные в JavaScript достаточно просто. Что касается объекта JSON, то сегодня он поддерживается всеми браузерами, включая Internet Explorer 9, поэтому различные альтернативы уже можно и не использовать (в сети есть масса примеров с eval и др. – не все они сейчас актуальны).

Реклама

Written by Sergiy Baydachnyy

26.08.2011 в 16:57

Один ответ

Subscribe to comments with RSS.

  1. Классная сатьтя

    gamejasakz

    08.09.2011 at 16:18


Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: