在Python中将Google ProtocolBuffer.ProtocolMessage转换为JSON

在Python中将Google ProtocolBuffer.ProtocolMessage转换为JSON,python,json,google-app-engine,protocol-buffers,Python,Json,Google App Engine,Protocol Buffers,我正在尝试将google.net.proto.ProtocolBuffer.ProtocolMessage(protobuf v1)转换为JSON字符串。我已经尝试了几个声称能够转换协议缓冲区的实用程序,但它们似乎都是protobuf v2所独有的 有人知道如何将v1 protobuf对象转换为JSON吗 谢谢 Protobufs v1从未正式公开发布,但作为App Engine SDK的一部分泄露出去。因此,您不太可能找到围绕它构建的任何工具。此外,v1 API从未真正支持转换为JSON之类的

我正在尝试将google.net.proto.ProtocolBuffer.ProtocolMessage(protobuf v1)转换为JSON字符串。我已经尝试了几个声称能够转换协议缓冲区的实用程序,但它们似乎都是protobuf v2所独有的

有人知道如何将v1 protobuf对象转换为JSON吗


谢谢

Protobufs v1从未正式公开发布,但作为App Engine SDK的一部分泄露出去。因此,您不太可能找到围绕它构建的任何工具。此外,v1 API从未真正支持转换为JSON之类的东西——反射的概念是v2引入的一个重大改进。在v1时代,任何“通用”算法(例如,将protobuf转换为文本)都必须检查序列化的字节,而不是解析的对象

也就是说,您可以做的一件简单的事情是序列化v1 protobuf对象,然后将其解析为v2对象。导线格式相同。从那里,您可以使用所有常用的v2工具来处理数据

但是,为了生成v2对象,您当然需要原始的
.proto
文件。我在您链接到的存储库中找不到此文件,尽管我只是简单地查看了一下。有可能原始的
.proto
文件没有公开发布,在这种情况下,您唯一的选择是通过查看生成的源代码对其进行反向工程,这很乏味