какая польза от json в .net - PullRequest
1 голос
/ 21 мая 2010

Может кто-нибудь объяснить, что такое метод json и как его использовать в .net

Ответы [ 5 ]

5 голосов
/ 25 мая 2010

JSON не является специфичным для .NET, это форма передачи данных. Его можно сравнить с массивом строк. Его основное использование заключается в предоставлении средств для возврата данных из веб-службы.

Данные из веб-службы (до JSON) в основном делались с использованием XML. Но XML является дорогостоящим для сериализации / десериализации из-за сложного обхода документа.

Из-за простого формата JSON его сериализация / десериализация намного быстрее, не говоря уже о меньшем объеме данных, что означает его более быструю передачу по проводам.

Ни один из вышеперечисленных пунктов не имеет ничего общего с .NET, они просто относятся к JSON в мире веб-сервисов.

Теперь по отношению к ASP.NET:

.

Скорее всего, у вас есть "классическая" веб-служба (ASMX) или веб-служба WCF, и вы хотите вернуть данные из нее. Без какой-либо дополнительной настройки ваш веб-сервис вернет XML. Но это можно изменить на JSON с помощью нескольких шагов (Google 'вернуть JSON из веб-службы .net). Наиболее распространенным вариантом использования этого является вызов веб-службы с AJAX (и / или jQuery) на странице ASP.NET, при которой возврат данных в виде JSON, а не XML, выиграет по вышеуказанным причинам.

3 голосов
/ 25 мая 2010

JSON это:

{
     "firstName": "John",
     "lastName": "Smith",
     "age": 25,
     "address": {
         "streetAddress": "21 2nd Street",
         "city": "New York",
         "state": "NY",
         "postalCode": "10021"
     },
     "phoneNumber": [
         { "type": "home", "number": "212 555-1234" },
         { "type": "fax", "number": "646 555-4567" }
     ]
 }

Это относительно легкий (для XML) метод передачи данных через Интернет (использование веб-службы).

XML-представление тех же данных более длительное:

<Person>
  <firstName>John</firstName>
  <lastName>Smith</lastName>
  <age>25</age>
  <address>
    <streetAddress>21 2nd Street</streetAddress>
    <city>New York</city>
    <state>NY</state>
    <postalCode>10021</postalCode>
  </address>
  <phoneNumber type="home">212 555-1234</phoneNumber>
  <phoneNumber type="fax">646 555-4567</phoneNumber>
</Person>

Есть хорошая поддержка для него в jQuery ( $. GetJSON () метод ) и в ASP.NET MVC (вернуть JSONResult из действия). Вот почему у многих разработчиков .NET создается впечатление, что это сделанная на заказ технология .NET; это не так, это просто тот, который был принят .NET.

Как следует из названия, технология, на которую обычно опирается JSON, - это Javascript (хотя она не зависит от языка, как XML). Сторона сервера зависит только от веб-службы, возвращающей в результате данные JSON.

2 голосов
/ 21 мая 2010

JSON можно использовать для сериализации данных в совместимый формат, который особенно хорошо подходит для использования браузером. В .NET вы можете написать WCF-сервис, который предоставляет данные с использованием JSON . Еще один вариант JSON - JSONP , который допускает междоменные вызовы AJAX.

1 голос
/ 25 мая 2010

JSON - это способ отправки данных в java-скрипт для их использования. Например, я отправляю список объектов со стороны приложения на сторону Java-сценария проекта веб-приложения, затем оцениваю его и получаю ту же структуру списка объектов, что означает, что вы можете получить все свойства объекта, как и вы. на стороне приложения, используя c #.

0 голосов
/ 25 мая 2010

Несколько вещей, чтобы добавить ...

Для XML вам необходим анализатор XML, когда во всех основных браузерах уже есть встроенный анализатор JSON, поэтому вам не нужно беспокоиться о сериализации / десериализации.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...