Почему повсеместно используется json?

Почему для REST используется json? Работая с модами для Minecraft я обнаружил формат NBT. Грубо говоря, это простая map с парой "ключ"-объект. Для сериализации/десериализации в одной из реализаций используется DataOutputStream.

В API faster xml есть возможность распарсить любой json объект в LinkedHashMap.

Соответственно у меня возник вопрос. Почему повсеместно используется json формат? Или скажем xml. Разве в них не сильно много лишней информации, которая замедляет процесс парсинга?

Разве сериализация/десериализация map (например как в NBT) не будет быстрее?


Ответы (2 шт):

Автор решения: Alex Rudenko

Поскольку NBT (Named Binary Tag) -- бинарный формат, то ответ лежит на поверхности -- работа с таким форматом может быть быстрее, но он менее удобен для работы/отладки REST API, тогда как в JSON данные могут быть достаточно компактно представлены именно в текстовом виде.

→ Ссылка
Автор решения: Bakuard

Сложные структуры данных чаще всего представлены в виде некоторой иерархии объектов (в виде дерева, если угодно). Я думаю это связано с тем, что так проще и естественней для человеческого восприятия. Так вот, при сериализации таких структур нередко у программистов возникает потребность "в ручную" читать получившейся результат. И с этой точки зрения удобнее всего подходит формат естественным образом представляющий иерархию некоторых объектов в виде обычного текста. XML и JSON хорошо справляются с этой задачей. Ну и ещё их очень удобно парсить.

→ Ссылка