Protobuf 类型和变体数组类型

Protobuf type and variant array types

我正在查看 proto3 文档,但我不清楚是否可以为我的用例创建规则。 C++ 中的等效项是具有以下声明:

 using Variant = std::variant<bool, int32_t, uint32_t, int64_t, uint64_t, float, double>;

 using Data = std::vector<std::vector<Variant>>;

是否可以使用 protobuf 来描述“数据”?根据我的理解,它可能应该是“repeated repeated Any”之类的东西。

您不能重复重复 Any。试试下面的代码:

message SubData {
    repeated google.protobuf.Any element = 1;
}

message Data {
    repeated SubData sub_data = 1;
}