Protobuf消息中引用任意字段的方法

Way to Reference Arbitrary Field in Protobuf Message

我正在寻找协议缓冲区消息中任意字段的字符串表示形式。有没有实现这个的库?我看过使用字段掩码,但是它们对重复字段的支持不强。

协议缓冲区消息和字段描述符提供按名称访问字段。这允许您使用路径找到特定字段并删除它,如果这是您要求的(如果不是,我建议扩展问题以包含您想要做的事情的示例)。

一个对应的 Java 方法是 getDescriptorForType (the return type is a message descriptor,您可以在其中找到字段描述符)。

C++ 有一个类似的描述符 API(在 Java 中,理论上您也可以使用反射)。

此 API 在灯光模式下不可用。