Когда предпочесть JSON XML - PullRequest
       35

Когда предпочесть JSON XML

145 голосов
/ 28 ноября 2008

Мое требование - просто отобразить набор значений, извлеченных из базы данных, на развороте. Я использую JQuery.

Ответы [ 18 ]

3 голосов
/ 14 июля 2010

от JSON - последние ноги

Когда вы идете по маршруту JSON, вы столкнуться с теми же проблемами, что XML столкнулся 10 лет назад:

Смешивание данных из двух разных источников в один JSON-пакет может вызвать элемент ярлыки врезаться друг в друга. Смешивать упаковочный лист и счет, и вдруг адрес От может означать что-то совсем другое. Вот почему XML имеет пространства имен .

Преобразование между разными JSON структуры потребуют написания мирской код. Более декларативный способ чтобы отобразить данные сделало бы работу проще. Вот почему XML имеет XSLT .

Описание пакетов JSON структура - ее поля, типы данных, и т. д. - необходим для того, чтобы люди подключиться к вашим услугам. Это важно иметь язык метаданных за это. Вот почему XML имеет Схемы .

Проведение двух одновременных разговоры клиент-сервер занимает уход. Если вы спросите сервер два вопросы и получить один ответ обратно, как ты знаешь, на какой вопрос он отвечает? Вот почему XML имеет WS-корреляцию .

2 голосов
/ 28 ноября 2008

JSON - нативная кодировка для javascript. Это должно быть намного быстрее и проще работать.

1 голос
/ 28 ноября 2008

Я использую JSON для любой конфигурации, обмена данными или обмена сообщениями. Я использую XML, только если мне нужно по другим причинам или семантически разметить данные, подобные документам.

1 голос
/ 18 декабря 2013

Быстрые правила:

  • JSON: формат данных между программами
  • YAML (расширенный набор JSON): формат данных от человека к программе
  • XML: формат разметки документа

Пояснение:

Единственная роль JSON заключается в сериализации объектно-ориентированных данных с использованием типов данных, общих для большинства языков программирования: списки , хешей и скаляры , а также для эта цель действительно не может быть побеждена или улучшена. То есть «у JSON нет номера версии [поскольку] никаких изменений в грамматике JSON не ожидается». - Дуглас Крокфорд (не могу побить это как знак того, что вы отлично справляетесь с работой)

XML когда-то продавался как формат обмена данными, но рассмотрим два наиболее распространенных варианта использования: Асинхронное взаимодействие клиент-сервер (AJAX) - JSON в значительной степени полностью заменил XML (X должен действительно быть J) и веб-служб : JSON сделал XML избыточной альтернативой.

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

Так что для представления данных JSON превосходит XML по всем направлениям. Что тогда осталось для XML? Представление документа со смешанным содержимым, для чего оно было предназначено .

1 голос
/ 23 апреля 2013

Использование JSON

  • Если данные должны использоваться JavaScript в браузере.
  • Модель данных проста и не сложна (слишком много составных объектов).

Использование XML

  • В основном в среде SOA, где вы интегрируете несколько сервисов на разнородных платформах и технологиях.
  • Преимущество SOAP заключается в том, что его можно передавать по разным протоколы, отличные от HTTP.
  • Простой в использовании инструмент преобразования моделей данных, такой как XSLT, XSL-FO и т. Д.
  • Много поддержки базы данных для хранения / запроса (XQuery) XML-данных.
  • XML является очень зрелым форматом данных, поэтому вы найдете множество инструментов для поддержки любого варианта использования, который вам придет в голову.
1 голос
/ 29 марта 2009

Как XML, так и JSON поддерживаются Microsoft. Литералы XML стали новой интересной функцией в VB 9. В следующей версии ASP.NET 4.0 JSON является обязательным условием для использования возможностей шаблонизации на стороне клиента.

Из вопроса, который вы задали, кажется, JSON может быть вашим выбором, поскольку его легко обрабатывать на стороне клиента с или без jQuery.

0 голосов
/ 12 октября 2015

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

Также JSON IMHO намного понятнее XML, что делает его для меня очевидным преимуществом. И если вы работаете с .NET, Json.NET - явный победитель, который поможет вам работать с JSON.

0 голосов
/ 20 августа 2013

Я нашел эту статью на цифровом базаре действительно интересной.

Некоторые части статьи приведены ниже.

О плюсах JSON:

Если все, что вы хотите передать - это атомарные значения, списки или хэши У JSON есть много преимуществ XML: простое использование через Интернет, поддерживает широкий спектр приложения, легко написать программы для обработки JSON, у него мало дополнительные функции, он разборчив и понятен, его дизайн является формальным и лаконичным, документы JSON просты в создании и используют Unicode. ...

Про XML плюсы:

XML замечательно справляется со всем богатством неструктурированных данные. Я совсем не беспокоюсь о будущем XML, даже если его смерть радостно отмечается группой дизайнеров веб-API.

И я не могу устоять перед тем, чтобы сказать "Я же тебе говорил!" знак в моем стол письменный. Я с нетерпением жду встречи с тем, что делают люди JSON, когда они попросили разработать более богатые API. Когда они хотят обменяться менее хорошо структурированные данные, будут ли они включать их в JSON? Я вижу случайные Упоминания о языке схемы для JSON, другие языки будут следовать? ...

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