«Кроссплатформенная поддержка (Python, Java, C #, C ++, Ruby, Perl)»
Жаль, что этот критерий первый. Целью большинства языков является выражение фундаментальных структур данных и обработка по-разному. Вот что делает несколько языков «проблемой»: все они разные.
Единственное представление, которое хорошо на многих языках, вообще невозможно. Есть компромиссы в богатстве представления, производительности или неоднозначности.
JSON прекрасно соответствует остальным критериям. Сообщения компактны и быстро разбираются (в отличие от XML). Вложенность обрабатывается красиво. Изменение структуры без нарушения кода всегда сомнительно - если вы удалите что-то, старый код сломается. Если вы измените что-то, что требовалось, старый код сломается. Однако если вы добавляете что-то, JSON справится и с этим.
Мне нравится читать человека. Это помогает в устранении неполадок и устранении неполадок.
Тонкость превращения кортежей Python в списки не является интересной проблемой. Принимающее приложение уже знает полученную структуру и может настроить ее (если это имеет значение.)
Редактировать по производительности.
Парсинг документов XML и JSON из http://developers.de/blogs/damir_dobric/archive/2008/12/27/performance-comparison-soap-vs-json-wcf-implementation.aspx
xmlParse 0.326
jsonParse 0,255
JSON выглядит значительно быстрее для того же контента. Я использовал модули Python SimpleJSON и ElementTree в Python 2.5.2.