Protobuf3为什么不允许重复映射?

Ant*_*nyC 2 java protocol-buffers

我正在使用Protobuf3,需要创建地图列表。我以为我可以使用,repeated map<string, string>但似乎不能。

我应该怎么用呢?

谢谢

Mar*_*ell 5

本质上,map<...>等同于:

repeated TypedPair ...
Run Code Online (Sandbox Code Playgroud)

message TypedPair {
    KeyType key = 1;
    ValueType value = 2;
}
Run Code Online (Sandbox Code Playgroud)

因此,repeated map<...>repeated repeated TypedPair它没有任何意义。

而是定义一个具有地图的类型,并使用它:

message HazMap {
    map<...> map = 1;
}
...
repeated HazMap maps = 1;
Run Code Online (Sandbox Code Playgroud)

这可以隐含吗?也许-但这不是现在。

  • @Anthony最终如果你想完全控制json:使用json序列化器库,而不是protobuf库,它恰好也能够作为第二语言来谈论json (2认同)