我正在尝试使用Protocol Buffers进行邮件序列化。
我的邮件格式应包含Map<字符串,对象>条目...但是如何编写.proto定义?
据我所知,Protocol Buffers没有内置Map类型。我可以使用重复字段来模拟它。但我遇到的最大问题是,您需要定义所有类型。我希望我的信息灵活,所以我不能指定类型。
有什么想法吗?
答案 0 :(得分:10)
我用一个键和一个值建模一个元组(可能是每个类型的一个值字段)。然后只需要重复列出该元组类型。您需要在代码中构建地图本身。
当你说你不能指定类型时 - 你在谈论什么类型的?如果元组中有每个类型的可选字段,那么这将适应所有基元 - 并且可以通过将消息序列化为字节字符串来映射消息。
听起来你所拥有的“非结构”水平可能不适合PB。