Словарь в буферах протоколов

Есть ли способ сериализации словаря с использованием буферов протокола, или мне придется использовать Thrift, если мне это нужно?

Ответы

Ответ 1

Люди обычно записывают словарь как список пар ключ-значение, а затем перестраивают словарь на другом конце.

message Pair {
   optional string key = 1;
   optional string value = 2;
}

message Dictionary {
   repeated Pair pairs = 1;
}

Ответ 3

Вы можете проверить ProtoText пакет.

Предположим, что вы хотите сериализовать dict person_dict на предварительно определенный объект PersonBuf protobuf, определенный в модуле personbuf_pb2.

В этом случае, чтобы использовать ProtoText,

import ProtoText
from personbuf_pb2 import PersonBuf

obj = PersonBuf()
obj.update(person_dict)