Из комментария к сообщению в блоге :
Относительно JSON: JSON структурирован аналогично буферам протокола, но двоичный формат буфера протокола все еще меньше и быстрее кодируется,Тем не менее, JSON создает отличную текстовую кодировку для буферов протокола - написать тривиальный кодер / декодер, который преобразует произвольные сообщения протокола в и из JSON, используя отражение protobuf, тривиально.Это хороший способ связи с приложениями AJAX, поскольку заставить пользователя загружать полный декодер protobuf при посещении вашей страницы может быть слишком много.
Приготовление a может быть тривиальным отображение, но есть ли одно "очевидное" отображение между двумя, на которое естественным образом согласуются любые две отдельные команды разработчиков?Если два продукта поддерживают данные PB и могут взаимодействовать, потому что они используют одну и ту же спецификацию .proto, мне интересно, смогут ли они по-прежнему взаимодействовать, если они независимо представят JSON-отражение одной и той же спецификации.Могут быть приняты некоторые произвольные решения, например, должны ли значения перечисления быть представлены строкой (чтобы быть понятной человеку, как типичный JSON) или их целочисленным значением?
Так есть ли установленное отображение, икакие-либо реализации с открытым исходным кодом для генерации JSON-кодировщика / декодера из спецификации .proto?