Чем отличается json от xml
Перейти к содержимому

Чем отличается json от xml

  • автор:

JSON и XML

Многие разработчики сравнивают JSON с XML при создании приложений, которые обмениваются данными между разными системами, особенно в Интернете. Это часто превращается в спор «JSON против XML», поскольку каждая сторона защищает свой предпочтительный формат.

Оказывается, JSON и XML имеют несколько разные цели, поэтому не всегда справедливо или уместно говорить, что одно «лучше» другого. Всё зависит от цели.

Давайте сперва рассмотрим пример документа на JSON и XML, содержащего одинаковые данные.

Пример на JSON

Вот некоторые данные, содержащиеся в JSON-документе.

Пример на XML

Те же данные, содержащиеся в XML-документе.

 Deep Purple 1968  Machine Head 1972 Рок  Stormbringer 1974 Рок   

Обучаемость

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

Тем не менее, с помощью JSON можно многому научиться — простота одна из сильных его сторон. XML, с другой стороны, содержит правила, касающиеся чувствительности к регистру, закрывающих тегов, атрибутов и др. Поэтому для большинства людей, вероятно, потребуется больше времени для изучения XML. Кроме того, как только вы отойдёте от простого обмена данными, XML окажется намного больше, чем кажется на первый взгляд.

Размер файла

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

Также можно утверждать, что добавление закрывающих тегов добавляет и больше печатной работы разработчикам. Отчасти это правда, хотя большинство продвинутых разработчиков используют программное обеспечение, которое автоматически закрывает для них теги. Так что в подобных случаях это не является проблемой.

Метаданные

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

Например, вы можете сделать что-то вроде этого.

Хотя есть возможность представить метаданные в JSON, например, превратив сущность в объект, а затем добавив метаданные в виде элементов в объекте, это не так изящно, как подход XML.

Читабельность

Браузеры, как правило, отображают XML так, чтобы человеку было легче его читать. Читатель может сразу увидеть иерархическую структуру, а также развернуть и свернуть любой элемент в дереве.

Производительность

Исследования часто показывают, что JSON быстрее и потребляет меньше ресурсов, чем XML. Например, вот это исследование — Comparison of JSON and XML Data Interchange Formats: A Case Study [PDF] из Университета штата Монтана.

Вот также интересная статья, в которой сравнивается производительность между XML, JSON, CSV и Protocol Buffers с помощью разных парсеров. JSON, похоже, имеет преимущество над XML в различных тестах производительности.

Цель

JSON и XML служат двум разным целям.

JSON — это формат обмена данными, его цель — облегчить обмен структурированными данными. Это достигается путём непосредственного представления объектов, массивов, чисел, строк и логических значений, которые часто присутствуют в исходном окружении и в месте назначения.

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

Заключение

Итак, JSON и XML оба подходят для обмена данными. Что вы будете используете, зависит от ситуации.

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

Тем не менее, популярность JSON растёт, и он, безусловно, заменяет XML в качестве предпочтительного формата обмена данными по сети.

Кроме того, это не единственные форматы обмена данными, например, существуют и другие форматы, такие как Protocol Buffers. В зависимости от ситуации, CSV может оказаться даже лучшим форматом для работы.

Автор: Йен Диксон
Последнее изменение: 11.10.2019

  • Синтаксис JSON
  • Типы данных JSON
  • JSON Schema
  • JSON и XML
  • Использование JSON с JavaScript
  • Использование JSON для HTTP-запроса
  • Использование JSON для HTTP через jQuery

JavaScript JSON или XML

И JSON и XML можно использовать для получения данных с веб сервера.

В следующих примерах JSON и XML определяется объект сотрудников с массивом из 3 сотрудников:

Пример JSON

Пример XML



Щипунов Андрей


Щипунов Татьяна


Щипунова Кристина

JSON похож на XML, потому что

  • JSON и XML «самоописываются» (читаются человеком)
  • JSON и XML являются иерархическими (значения внутри значений)
  • JSON и XML можно анализировать и использовать во многих языках программирования
  • JSON и XML можно получить с помощью XMLHttpRequest

JSON отличается от XML, потому что

  • JSON не использует конечный тег
  • JSON короче
  • JSON быстрее читать и писать
  • JSON может использовать массивы

Самая большая разница:

XML необходимо анализировать с помощью анализатора XML. JSON можно проанализировать с помощью стандартной функции JavaScript.

Почему JSON лучше XML

XML намного сложнее анализировать, чем JSON.
JSON разбирается в готовый к использованию объект JavaScript.

Для приложений AJAX JSON быстрее и проще, чем XML:

  • Получить XML документ
  • Используйте XML DOM для просмотра документа
  • Извлечь значения и сохранить в переменных
  • Получить строку JSON
  • JSON.Parse строки JSON

Мы только что запустили
SchoolsW3 видео

ВЫБОР ЦВЕТА

colorpicker

курс сегодня!

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, не стесняйтесь отправлять на электронное письмо:

Ваше предложение:

Спасибо Вам за то, что помогаете!

Ваше сообщение было отправлено в SchoolsW3.

ТОП Учебники
ТОП Справочники
ТОП Примеры
Получить сертификат

SchoolsW3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять Условия к использованию, Cookies и политика конфиденциальности.

JSON vs XML

И JSON, и XML могут использоваться для получения данных с веб-сервера.

В следующих примерах JSON и XML определяется один и тот же объект employees с массивом из 3 элементов:

   John Doe  Anna Smith  Peter Jones   

JSON похож на XML тем, что

  • И JSON, и XML имеют «самоописательную» структуру (понятную для человека)
  • И JSON, и XML имеют иерархическую структуру (значения внутри значений)
  • И JSON, и XML могут парситься и использоваться любым языком программирования
  • И JSON, и XML могут извлекаться при помощи XMLHttpRequest

JSON не похож на XML тем, что

  • JSON не использует конечный тег
  • JSON короче
  • JSON быстрее читать и писать
  • JSON может использовать массивы

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

Почему JSON лучше XML

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

Для AJAX приложений JSON быстрее и проще XML:

  • Получить XML документ
  • Использовать XML DOM для обхода документа
  • Извлечь значения и сохранить их в переменных
  • Получить строку JSON
  • При помощи JSON.Parse преобразовать строку JSON

Что такое XML и JSON. Их особенности.

Что такое XML и JSON Их особенности

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

JSON (англ. JavaScript Object Notation) — простой формат обмена данными, основанный на языке программирования JavaScript. Использует человекочитаемый текст для передачи объектов данных.

Синтаксические правила JSON

  • Данные указываются в парах имя / значение, разделяемые двоеточием «firstName»:«Lev»
  • Данные разделяются запятыми «firstName»:«Anna», «lastName»:
    «Karenina»
  • Фигурные скобки удерживают объекты ,
  • Квадратные скобки содержат массивы

Преимущества JSON

  • Меньше слов — больше дела
    XML требует открытия и закрытия тегов, а JSON использует пары имя / значение, четко обозначенные «» для объектов, «[«и»]» для массивов, «,» (запятую) для разделения пары и «:»(двоеточие) для отделения имени от значения.
  • Размер имеет значение
    При одинаковом объеме информации JSON почти всегда значительно меньше, что приводит к более быстрой передаче и обработке.
  • Близость к javascript
    JSON является подмножеством JavaScript, поэтому код для его анализа и упаковки вполне естественно вписывается в код JavaScript.

XML
XML — язык разметки, который определяет набор правил для кодирования документов в формате, который читается человеком и читается машиной. Но чем больше информации (вложений, комментариев, вариантов тегов и т.д.) в xml, тем сложнее ее читать человеку.

XML хранит данные в текстовом формате. Это обеспечивает независимый от программного и аппаратного обеспечения способ хранения, транспортировки и обмена данными. XML также облегчает расширение или обновление до новых операционных систем, новых приложений или новых браузеров без потери данных.

Синтаксис XML

  1. Весь XML документ должен иметь корневой элемент.
  2. Все теги должны быть закрыты (либо самозакрывающийся тег).
  3. Все теги должны быть правильно вложены.
  4. Имена тегов чувствительны к регистру.
  5. Имена тегов не могут содержать пробелы.
  6. Значения атрибута должны появляться в кавычках («»).
  7. Атрибуты не могут иметь вложения (в отличие от тегов).
  8. Пробел сохраняется.

Преимущества XML

  • Поддержка метаданных
    Одним из самых больших преимуществ XML является то, что мы можем помещать метаданные в теги в форме атрибутов. В JSON атрибуты будут добавлены как другие поля-члены в представлении данных, которые НЕ могут быть желательны.
  • Визуализация браузера
    Большинство браузеров отображают XML в удобочитаемой и организованной форме. Древовидная структура XML в браузере позволяет пользователям естественным образом сворачивать отдельные элементы дерева. Эта функция будет особенно полезна при отладке.
  • Поддержка смешанного контента
    Хорошим вариантом использования XML является возможность передачи смешанного контента в пределах одной и той же полезной нагрузки данных. Этот смешанный контент четко различается по разным тегам.

Для наглядности представим сходства и различия XML и JSON в виде таблицы:

Вы в поисках курсов для тестировщиков с нуля? Присоединяйтесь к ПОИНТ — Первому Онлайн ИНституту Тестировщиков!

Обучение стартует ежемесячно. Следить за актуальным расписанием можно в нашей группе VK.

Дата публикации: 28.10.2019

Последние новости

  • QA-диалоги на английском. Практика + аудио
  • Английский словарь тестировщика. Скороговорка + аудио
  • Лучшие курсы по тестированию ПО в феврале 2024
  • Ручное или автоматизированное тестирование: что выбрать
  • Собеседование на тестировщика. Вопросы на английском 2
  • Что такое тестирование Большого взрыва
  • Собеседование на тестировщика. Вопросы на английском

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *