С точки зрения эффективности, буферные протоколы, вероятно, будут более эффективными, чем любая реализация JSON, хотя это не обязательно так, как вы думаете.GSON не особенно быстр, но библиотека Джексона может почти конкурировать с большинством двоичных сериализаторов (в большинстве случаев Джексон в 2-4 раза быстрее, чем GSON, и в 10-20 раз быстрее в UTF-8, поскольку в нем есть специальный код для UTF-8).
Но из-за модели программирования я по-прежнему использую буфер протокола поверх любой библиотеки JSON.В большинстве библиотек JSON вам придется проверять структуру сообщения вручную.С помощью буферов протокола вы декларативно определяете структуры сообщений, и библиотека позаботится о структурной проверке для вас (хотя все еще будут вещи, которые вам нужно будет проверить вручную).
Другие библиотеки, такие как буферы протокола: Apache Avro, Apache Thrift.
Библиотека Protostuff использует модель данных Protocol Buffers (так что вы получаете структурную проверку бесплатно), но поддерживает сериализацию в JSON и YAML в дополнение к другим форматам.Это может быть полезно, если вы хотите, чтобы ваш сервис использовался кодом Javascript, где JSON часто является самой простой вещью, с которой нужно иметь дело.