Подтвердить что ты не робот

Почему JSON более легкий, чем XML?

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

Один ответ, который я нашел, заключается в том, что в JSON не существует дополнительной дополнительной разметки xml. Что это значит? Есть ли еще несколько причин, объясняющих, почему JSON является легким?

4b9b3361

Ответ 1

Посмотрели ли вы на примеры документов JSON и XML?

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

Посмотрите на различия.

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

<paragraph>
   This is an entire paragraph of <emph>text</emph>. It is interspersed with
   further, nested <emph>XML elements</emph>, as well as the occasional
   <link href="http://stackoverflow.com/a/12346394/596781">hyperlink</link>.
</paragraph>

С другой стороны, документы, подобные данным, могут быть намного проще в JSON. Представьте себе следующее:

<properties>
    <property type="int" name="ID">123</property>
    <property type="date" name="birthday">19700101</property>
    <references>
        <url>http://stackoverflow.com/a/12346394/596781</url>
        <doi>something.made.up</doi>
    </references>
</properties>

Это становится очень компактным массивом JSON.

Второе внимание - это количество наборов инструментов, которые окружают оба формата. Хотя инструменты JSON в основном касаются разбора данных JSON, W3C разрабатывает очень большой набор поддерживающих технологий для систематического управления XML, таких как XSLT и XPATH.

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

Ответ 2

Обозначение JSON является термином. XML повторяет тип node в закрывающем теге, тогда как JSON просто запрашивает область закрытия с помощью стека. XML поддерживает пространства имен, насколько я знаю, JSON этого не делает. XML-схемы обычно включают информацию о типе, но нет никакой причины, по которой вы не могли бы это сделать с JSON. Следует отметить, что рост JSON объясняется в немалой степени тем фактом, что он функционально эквивалентен XML во всех отношениях, которые фактически используются. По проводу разница исчезает, как только компрессия LZW вступает в игру, потому что XML хорошо подходит для сжатия словаря.

Ответ 3

Модель данных отличается. Помимо отсутствия разметки, которую вы заметили, JSON также не имеет всех других функций XML, таких как:

  • Инструкции по обработке
  • Комментарии
  • Свойства

Следовательно, не только сами данные более легкие, но и любая библиотека, реализующая модель данных. Это значительно ускоряет рендеринг, анализ, обработку JSON с использованием языков, отличных от JavaScript. Для JavaScript это не проблема, так как JSON является фактическим кодом JavaScript и, следовательно, гораздо более "легким" для анализатора JavaScript для обработки

Ответ 4

Простота

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

расширяемость

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

Interoperability

JSON обладает тем же потенциалом взаимодействия, что и XML.

Открытость

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

Ссылка на контент

Ответ 5

Здесь есть несколько факторов:

(a) модель данных JSON проще; он имеет меньше различных объектов, и у них меньше свойств.

(b) модель данных JSON ближе к моделям данных, доступным на обычных языках программирования, таких как Javascript, поэтому при использовании этих языков требуется меньше преобразования данных.

(c) сериализованный синтаксис JSON имеет меньшую избыточность (менее подробный), чем синтаксис XML.

Конечно, эти различия связаны с тем, что JSON был разработан для другой цели, кроме XML.

Ответ 6

Он меньше на линейный коэффициент. Это не меньше. После сжатия оба формата занимают одно и то же пространство.

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

XML был разработан вокруг концепции документа. JSON был больше связан с простыми структурами данных. JSON меньше заботится о стандартах, т.е. Не имеет схем, поэтому переносимость может быть сложнее, чем для кого-то, кто умеет использовать XML. Обычно, когда мне приходится использовать некоторый сервис ReSTful, мне говорят "прочитать код" или "посмотреть на данные JSON", чтобы понять это. То есть неявные (и нередко меняющиеся) форматы данных.

Оба формата страдают от проблемы, которую они могут в своей естественной форме представлять только деревья, а не графики данных. Мне не нравится любой формат. Оба они кажутся наполовину готовыми. Сериализация объектов решает больше проблем.

Ответ 7

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