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

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

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

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

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

4b9b3361

Ответ 1

json.org делает простой JSON-анализ. SimpleXML делает XML простым для PHP.

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

Ответ 2

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

Ответ 3

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

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

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

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

Ответ 4

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

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

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

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

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

Ответ 5

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

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

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

Ответ 6

Это зависит.

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

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

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

Ответ 7

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

Ответ 8

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

Ответ 9

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

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

Ответ 10

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

Здесь один.

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

Ответ 11

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

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

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