И 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