Библиотека, которую вы ищете: google.protobuf.json_format
. Вы можете установить его с указаниями в README
здесь . Библиотека совместима с Python> = 2.7.
Пример использования:
При наличии такого сообщения protobuf, как это:
message Thing {
string first = 1;
bool second = 2;
int32 third = 3;
}
Вы будете использовать библиотеку примерно так :
import json
from google.protobuf.json_format import Parse
message = Parse(json.dumps({
"first": "a string",
"second": True,
"third": 123456789
}), Thing())
print(message.first) # "a string"
print(message.second) # True
print(message.third) # 123456789
К go наоборот:
from google.protobuf.json_format import MessageToDict
message_as_dict = MessageToDict(message)
message_as_dict['first'] # == 'a string'
message_as_dict['second'] # == True
message_as_dict['third'] # == 123456789