Что лучше: Json или XML (PHP)

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

Также интересно, есть ли хорошие классы, которые могут облегчить синтаксический анализ (XML или Json).

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

json.org упрощает синтаксический анализ JSON. SimpleXML упрощает XML для PHP.

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

Разбор и генерация JSON изначально включены в php: http://www.php.net/json

Я чувствую, что следующие записи StackOverflow отвечают на ваш вопрос лучше всего:

  • Когда вы предпочитаете JSON над XML?
  • Является ли JSON или XML-парсер быстрее?

Что же проще всего?
jQuery упрощает сериализацию ваших объектов JavaScript в объектах JSON.

Но, если вы все еще не уверены …

Вот некоторые другие статьи:

  • XML для JSON – плагин jQuery
  • Сериализовать форму JSON с помощью jQuery

JSON рассматривает ваши данные как структуры, известные из языков программирования: карты / словари (называемые «объекты» в JSON), массивы и литералы. JSON ставит эти базовые конструкции в иерархии.

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

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

Однако XML намного сложнее, чем JSON. Легко и забавно писать собственный парсер JSON, но писать синтаксический анализатор XML – это огромная работа (конечно, не для тех, кто не знаком с XML). В Javascript JSON можно проанализировать, оценивая текст (это довольно небезопасно, хотя).

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

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

Если вы уверены, что будете работать с Javascript и никогда не будете иметь другого типа клиентов (другой сайт, клиент Flash / Flex, независимо от того), то JSON великолепна и, возможно, менее безболезненна. С другой стороны, выполнение XML теперь экономит ваше время, если вам когда-либо понадобится работать над XML.

В любом случае, хорошо, что нужно сделать, это проверить, что делают ребята Google, используя LiveHTTPHeaders для Gmail или любого из своих приложений. Я уверен, что это XML, а не JSON, но вы можете проверить меня на этом. Во всех случаях делать то, что Google может считаться «не задумываясь», но они, как правило, умнее меня и имеют гораздо больше человеко-часов, чтобы все равно подумать 🙂

Это зависит.

Пример. Вы хотите разместить приложение в большом контексте (EAI), тогда вы должны использовать XML (возможно, Webservices & WSDL).

Пример 2: Если вам нужен простой пользовательский интерфейс, основанный на javascript и ajax, вы должны рассмотреть JSON.

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

Если вы выберете XML, используйте SimpleXML , чрезвычайно простую в использовании библиотеку

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

Я использую JSON с PHP из-за того, насколько это просто:

$arr = array('foo' => 'bar', 'animals' => array('cat', 'dog')); // Create any array. $json = json_encode($arr); // Converts any array to JSON. 

В нижней части страницы json.org есть несколько (возможно односторонних) статей JSON vs XML.

Вот он .

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

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

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

Также возможно (но необязательно) создать XML-схему , которая автоматически упрощает проверку ваших данных. Это может сэкономить вам много времени!