Wie würden Sie eine Karte kodieren Protocol Buffers mit?
-
12-09-2019 - |
Frage
Ich versuche, Protocol Buffers Nachricht Serialisierung.
sollte My Nachrichtenformat enthalten Map
Soweit ich weiß, Protocol Buffers keine Build-in Karte Typ. Ich konnte Modell um, dass Wiederholfeldern verwenden. Aber das große Problem, das ich habe, ist, dass Sie alle Ihre Typen definieren müssen. Ich möchte, dass meine Nachricht, flexibel sein, also kann ich nicht die Typen angeben.
Irgendwelche Ideen?
Lösung
Ich würde ein Tupel mit einem Schlüssel modellieren und ein Wert (wahrscheinlich ein Wert-Feld pro Typen, der Wert sein könnte). Dann haben nur eine wiederholte Liste dieser Tupel-Typ. Sie müssen die Karte selbst in Code bauen.
Wenn Sie sagen, Sie nicht die Typen angeben können - welche Art von Typen reden Sie? Wenn Sie ein optionales Feld von jedem Typ in dem Tupel haben, dann wäre das für alle Primitiven zu bewältigen -. Und Sie könnte Karte Nachrichten, indem sie in einem Byte-String Serialisierung
Es klingt wie die Ebene der „unstructure“ Sie haben zwar eine gute Passform für PB nicht sein.