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.