Здравствуйте, vsb, Вы писали:
vsb>XML это по сути дерево.
vsb>JSON это отображения (maps) плюс массивы.
vsb>XML хорош для моделирования древовидных данных. А вот массивы в него ложатся плохо.
Не понимаю. В XML можно изобразить массив, просто повторяя элемент (с одинаковым именем) несколько раз. Некоторые протоколы так и делают.
Я не вижу глубокой логической разницы межд XML и JSON. Просто XML сделан "всерьез и навека", от этого в нём столько лишних сложностей, что сдохнуть можно. JSON в этом плане значительно удобнее/проще.
vsb>Отсутствие вменяемой общепринятой спецификации. К примеру простые вопросы. Какие числа можно передавать? Что происходит при дублировании ключей? Это отдаётся на откуп конкретной реализации, что вызывает проблемы при взаимодействии, к примеру в JS целые числа ограничечны 2^52.
Сам спросил, сам ответил. 2^52 же. Числа в JSON — это 64-битный float в формате IEEE 754, и это от JS так пошло.
vsb>Не специфицирована кодировка текста, т.е. нет однозначного отображения объекта в байты, только в строку.
UTF-8 же.
Раздражает, что нет синтаксиса для передачи бинарных данных (массива байт).