JSON vs XML

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

В следующих примерах JSON и XML определяется один и тот же объект employees с массивом из 3 элементов:

Пример JSON


{"employees":[
    { "firstName":"John", "lastName":"Doe" },
    { "firstName":"Anna", "lastName":"Smith" },
    { "firstName":"Peter", "lastName":"Jones" }
]}

Пример XML


<employees>
    <employee>
         <firstName>John</firstName> <lastName>Doe</lastName>
     </employee>
     <employee>
         <firstName>Anna</firstName> <lastName>Smith</lastName>
     </employee>
     <employee>
         <firstName>Peter</firstName> <lastName>Jones</lastName>
     </employee>
</employees>

JSON похож на XML тем, что

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

JSON не похож на XML тем, что

  • JSON не использует конечный тег
  • JSON короче
  • JSON быстрее читать и писать
  • JSON может использовать массивы

Самое значительное отличие JSON от XML заключается в том, что XML приходится парсить при помощи специального XML парсера, а JSON может парситься стандартной функцией JavaScript.

Почему JSON лучше XML

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

Для AJAX приложений JSON быстрее и проще XML:

Использование XML

  • Получить XML документ
  • Использовать XML DOM для обхода документа
  • Извлечь значения и сохранить их в переменных

Использование JSON

  • Получить строку JSON
  • При помощи JSON.Parse преобразовать строку JSON