c++ - protobuf 3 中的原始类型

标签 c++ protocol-buffers

我正在研究 protobuf 3 的新功能,想知道是否有办法将 int32 或字符串等基本类型放入 google.protobuf.Any。
我知道我可以直接设置 type_url 和值,因为它们是字符串,但这会破坏任何使用 someAny.Is<SomeType>() 检查值的代码。 . 在这种情况下,使用 BinaryToJsonString 写入 JSON 也不起作用。

或者是否有任何其他优雅的方式来 union 基元和消息? (oneofs 不是我要搜索的;)

最佳答案

显然没有办法直接做到这一点。 我们现在使用来自 google.protobuf.wrappers.proto 的包装消息并将它们打包到 Any 中。

关于c++ - protobuf 3 中的原始类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36503486/

相关文章:

c++ - 使用 zLib 删除无效

c++ - 矩阵 - 从文件中读取

c++ - glDebugMessageCallback 导致访问冲突(GLFW + GLAD)

c++ - native C/托管 C++ 调试

Golang protobufs 有名称冲突

go - 我们在使用google protocol buffer时,是否可以修改生成的pb.go文件?

c++ - 如何在 c/c++ 中向参数添加选项? ( Visual Studio 平台2019)

c++ - VS 2010 中 win32 应用程序中的文件夹复制

go - 将 protobuf 枚举消息发送到 grpc 服务器

c++ - (ProtoBuf) 无法解析类型为 "data.Data"的消息,因为它缺少必填字段 : ID