September 9th, 2019

Для чего нужны форматы XML и JSON (вдруг кто не знает)

Эти форматы предназначены для сериализации иерархических структур текстовых данных.

Что такое "иерархические структуры данных"? Можно взять вездесущий книжный каталог в качестве примера. В этом каталоге будут разделы, скажем, "Художественная литература" и "Научная литература". В разделе "Художественная литература" могут быть подразделы "Мелодрама", "Фантастика" и т.п. Каждый из этих разделов будет содержать список книг, и для каждой книги надо указать автора -- одного или нескольких, издательство -- одно или несколько, год издания и т.п.

Для пересылки таких данных желательно иметь возможность записывать все эти данные в одной строке так, что любой получатель этой строки сможет восстановить исходную иерархию -- это называется "сериализация". Почему в одной строке? Потому что данные, грубо говоря, передаются символ за символом по одному проводу.

Попросту говоря, как описать иерархические данные одной строкой, которую мог бы читать и понимать человек? Вот это и делают форматы XML и JSON. Первый -- посложнее, второй -- попроще.