Comment voulez-vous encoder une carte en utilisant Protocol Buffers?
-
12-09-2019 - |
Question
Je suis en train d'utiliser Protocol Buffers pour la sérialisation des messages.
Mon format de message doit contenir Carte
Pour autant que je sache, buffers Protocole n'a pas une accumulation dans le type de carte. Je pourrais modéliser autour qu'utiliser des champs répétitifs. Mais le grand problème, c'est que vous devez définir tous vos types. Je veux que mon message à faire preuve de souplesse, donc je ne peux pas préciser les types.
Toutes les idées?
La solution
Je modélise un tuple avec une clé et une valeur (probablement un champ de valeur par type que la valeur pourrait être). Alors qu'une liste répétée de ce type de tuple. Vous auriez besoin de construire la carte elle-même dans le code.
Quand vous dites que vous ne pouvez pas spécifier les types - quel genre de types parlez-vous? Si vous avez un champ facultatif de chaque type dans le tuple, ce serait faire face à toutes les primitives - et vous. peut Messages de carte en les sérialisation dans une chaîne d'octets
Il semble que le niveau de « unstructure » vous avez peut-être pas un bon ajustement pour PB bien.