Я споткнулся здесь, имея очень похожий вопрос. Через 6 лет это может быть бесполезно для вас, но, надеюсь, это будет для других.
Есть много альтернатив, к сожалению, без явного победителя (хотя можно утверждать, что JSON - явный победитель). Даже Google выпустил несколько конкурирующих технологий (очевидно, все они используются внутри компании):
Не забывать альтернативы, опубликованные в других ответах. Вот еще несколько:
- YAML : JSON минус все двойные кавычки, но вместо этого используется отступ. Он более читабелен, но, вероятно, менее эффективен, особенно когда он становится больше.
- BSON (двоичный JSON)
- MessagePack (еще один сжатый JSON)
С таким большим количеством вариантов JSON, несомненно, является победителем с точки зрения простоты / удобства и кроссплатформенного доступа. За последние пару лет он приобрел еще большую популярность благодаря росту JavaScript. Многие люди, вероятно, используют это как де-факто решение, не задумываясь об этом (это то, что я изначально делал: P).
Однако, если размер становится проблемой, но вы предпочитаете сохранять простоту и не использовать одну из более продвинутых библиотек, вы можете просто сжать JSON, используя zlib
(это то, что я делаю сейчас), или какой-то другой кроссплатформенный алгоритм (но это совсем другая тема).
Чтобы ускорить обработку JSON в C ++, вы также можете использовать RapidJSON .