JSON or XML, какой формат выбрать
?С помощью этого сравнения JSON и XML мы постараемся, выделяя сильные и слабые стороны каждого формата, помочь тебе выбрать тот, который лучше всего подходит для того или иного приложения, и особенно для приложения Ajax/HTML 5.
JSON
JSON - рекурсивный формат, совместимый с JavaScript, который делает его структурой объекта JavaScript. Это объект, сохраненный в файле. Он датируется 2002 годом и внезапно стал популярным, когда «Аякс» стал широко использоваться. Файлы JSON можно хранить в базе данных PostgreSQL, существует стандарт W3C для представления данных форм в JSON, среди прочих приложений.
JSON предполагает, что вы знаете структуру документа. При использовании с любым языком программирования доступ к данным осуществляется по структуре объекта.
1) JSON и JavaScript
JSON очень легко использовать в JavaScript, он является частью языка.
Чтобы использовать JSON-файл, нужно просто загрузить файл как текст, это содержимое атрибута Ajax responseText.
Затем для создания объекта JavaScript используется функция JavaScript eval ():
var doc = xhr.responseText;
var jdoc = eval('(' + doc + ')');
или с новым браузером:
var jdoc = JSON.parse(doc);
После разбора файла он используется как любой объект JavaScript:
var value = jdoc.commands[0].value;
var action = jdoc.commands[0].action;
Многие сценарии доступны в Интернете для сериализации объекта JavaScript в JSON-файл. С помощью недавнего браузера объект преобразуется в строку:
var str = JSON.stringify(jdoc);
2) JSON и PHP
Вы можете использовать JSON в PHP после парсинга файла с парсером PHP. Для PHP есть библиотека JSON, для ее использования достаточно настроить php.ini. Есть также библиотека json.php, которую нужно включить напрямую с функцией «require».
3) Веб-служба
Очень популярен фреймворк JSON Web Service Library.
4) Преобразования
Преобразование из одного формата в другой можно выполнить путем сериализации объекта в память в новом формате.
5) База данных
JSON - тип данных для PostgreSQL.
6) Пример файла JSON
[ {
"menu": "File",
"commands": [
{
"value": "New",
"action":"CreateDoc"
},
{
"value": "Open",
"action": "OpenDoc"
},
{
"value": "Close",
"action": "CloseDoc"
} ]
} ]
XML
XML - язык тегов, который является основой многих форматов и языков интерфейса: RSS, SVG, OPML, XHTML, Open XML, XAML и т. Д. Он позволяет описывать и анализировать все виды документов, кроме бинарных, и хранить их в файле.
Это более многословно, чем JSON, но существует целый ряд инструментов для его обработки, и это также формат файлов обработки текста и другое офисное ПО.
Структура XML свободна. Любое текстовое содержимое представляет себя в XML и имеет доступ к нему по идентификатору или имени тега. Но формат занимает много места.
Использование методов DOM может быть трудоемким с XML и медленным с XHTML.
1) XML и JavaScript
В отличие от JSON, файл загружается в Ajax прямо как XML-документ, это атрибут responseXML Ajax.
Затем к контенту можно получить доступ методами DOM.
var xdoc = xhr.responseXML;
var x = xdoc.getElementById("mabalise");
2) XML и PHP
XML является частью основного языка PHP 5, он используется там непосредственно с классами DOMDocument и SimpleXML. Можно загрузить XML-файл, обработать содержимое методами DOM и сохранить его прямо в файл.
3) Веб-служба
Существует формат XML для веб-сервисов: SOAP. Это стандарт W3C, но довольно сложный и не очень популярный.
4) Преобразования
Преобразование XML-документа в другой формат может быть осуществлено XSLT - инструментом не очень простого использования. Конечно, можно и в PHP или JavaScript, загрузить XML-файл, взять данные и собрать файл в новом формате, иногда это проще.
5) База данных
Сочетание XML и XPath позволяет использовать его в качестве базы данных, поэтому он подходит для ресурсов большого размера.
6) Пример XML-файла
<?xml version="1.0" ?>
<menubar>
<menu name="File">
<command value="New" action="CreateDoc" />
<command value="Open" action="OpenDoc" />
<command value="Close" action="CloseDoc" />
</menu>
</menubar>
Существует большая свобода в том, как представлять данные :
<command>
<value>New</value>
<action>CreateDoc</action>
</command>
Заключение
JSON проще удалять данные на сервере, и использовать их - это как постоянную память для программы. Для его использования нужно знать структуру данных, желательно быть владельцем файла. Он легче XML и экономит ресурсы.
XML лучше подходит для презентации. Это язык многих графических интерфейсов сейчас: XAML, XUL, MXLM и т.д., в то время как QML близок к JSON. В первом случае данные хранятся в одном виде и используются в другом.
Можно использовать XML из внешних источников и даже создавать базы данных XML.