你如何使用Protocol Buffers?</string,>编码Map <string,object =“”>?

时间:2009-07-09 09:51:53

标签: java protocol-buffers amqp

我正在尝试使用Protocol Buffers进行邮件序列化。

我的邮件格式应包含Map&lt;字符串,对象&gt;条目...但是如何编写.proto定义?

据我所知,Protocol Buffers没有内置Map类型。我可以使用重复字段来模拟它。但我遇到的最大问题是,您需要定义所有类型。我希望我的信息灵活,所以我不能指定类型。

有什么想法吗?

1 个答案:

答案 0 :(得分:10)

我用一个键和一个值建模一个元组(可能是每个类型的一个值字段)。然后只需要重复列出该元组类型。您需要在代码中构建地图本身。

当你说你不能指定类型时 - 你在谈论什么类型的?如果元组中有每个类型的可选字段,那么这将适应所有基元 - 并且可以通过将消息序列化为字节字符串来映射消息。

听起来你所拥有的“非结构”水平可能不适合PB。