Когда вы будете использовать XML поверх JSON для Ajax? - PullRequest
11 голосов
/ 26 января 2009

В последнее время многие программисты, включая меня, изъяли X из AJAX и по умолчанию используют JSON в качестве формата протокола. Однако я пытаюсь придумать некоторые места, где XML был бы более подходящим в качестве формата протокола, который не включает SOAP (потому что SOAP теоретически можно было бы сделать с JSON в любом случае).

Примечание. Я люблю XML для многих других целей, поэтому речь идет не о XML против JSON в целом, а о протоколе передачи AJAX.

Ответы [ 5 ]

15 голосов
/ 26 января 2009

Этот вопрос очень похож на Когда предпочитать JSON XML?

Во всяком случае, я согласен с самым популярным ответом там:

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

Когда Amazon впервые представила свои каталоги как веб-сервис, они предложили как JSON, так и XML. Примерно 90% разработчиков выбрали JSON.

С другой стороны, XML хорош для ситуаций, в которых ...

  • Вам нужно подтверждение сообщения
  • Вы используете XSLT
  • Ваши сообщения содержат много размеченного текста
  • Вам необходимо взаимодействовать со средами, которые не поддерживают JSON
  • Вам нужны атрибуты или пространство имен

Это также взято из вопроса выше, который по сути задает противоположное этому.

4 голосов
/ 26 января 2009

Для того, чтобы все было вместе, для упрощения поиска вместо нормализации данных я излагаю некоторые части ответов на другой вопрос, на который указал Паоло Бергантино, которые показывают преимущества XML:

Пользуйтесь XML над JSON, когда любой из них верно:

  • Вам нужна проверка сообщения
  • Вы используете XSLT. В ваших сообщениях много размеченного текста
  • Вам необходимо взаимодействовать со средами, которые не поддерживает JSON

Роберт Росни

Вам нужно обработать данные на клиенте, и вы можете использовать для этого XSL. Скорее всего, цепочка XML + XSL будет работать быстрее, чем JSON + JavaScript, особенно для больших порций данных. Хорошим примером является преобразование данных в фрагмент HTML.

- Евгений Лазуткин

Я бы выбрал XML вместо JSON, если мне нужно проверить порцию входящих данных, потому что XML изначально поддерживает это через XSD.

-lowglider

Однако JSON отсутствует как

  • атрибуты
  • Пространства имен

-null

2 голосов
/ 26 января 2009

Аяксян писал об этой самой теме - JSON vs. XML: Дебаты

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

1 голос
/ 26 января 2009

Если вы собираетесь выполнять преобразования XSLT на стороне клиента.

0 голосов
/ 26 января 2009

Для меня, я думаю, самым большим недостатком использования XML в AJAX является тот факт, что вам обычно придется анализировать его и преобразовывать каким-либо образом, тогда как вам не придется делать то же самое с JSON, потому что формат родной для JavaScript. Когда вы добавляете большую стоимость передачи к анализу и преобразованию, я, честно говоря, не могу придумать вескую причину использовать XML поверх JSON для AJAX, хотя я, конечно, использую XML для многих других вещей.

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