你会如何编码地图 使用Protocol Buffers?(How would you enco

2019-07-29 22:36发布

我试图使用协议缓冲区的消息序列化。

我的消息格式应包含地图<字符串,对象>项......但我怎么写.proto定义是什么?

据我所知,Protocol Buffers的不具有一个内置的地图类型。 我可以在使用重复的领域模型周围。 但最大的问题,我是,你需要定义所有的类型。 我希望我的消息是灵活的,所以我不能指定类型。

有任何想法吗?

Answer 1:

我想模型键和值(每个类型的值可以是一个大概值字段)的元组。 然后,只需有一个元组类型的重复列表。 你需要建立地图本身的代码。

当你说你不能指定类型 - 你说的是什么样的类型? 如果你在元组每种类型的可选字段,然后,将处理所有的原语-你可以通过它们序列化到一个字节串MAP消息。

这听起来像的“非结构”你可能不是一个很好的适合PB虽然水平。



文章来源: How would you encode a Map using Protocol Buffers?