# -*- coding: utf-8 -*-
from example import openrtb_pb2
from google.protobuf import json_format
import json
import datetime
def pb_to_json(pbStringRequest):
"""将pbstring转化为jsonStringResponse返回"""
msg = openrtb_pb2.param()
msg.ParseFromString(pbStringRequest)
jsonStringRequest=json_format.MessageToJson(msg)
return jsonStringRequest
def json_to_pb(jsonStringResponse):
"""将jsonStringResponse转化为pbString返回"""
proto = openrtb_pb2.param()
pbStringResponse1 = json_format.Parse(json.dumps(jsonStringResponse), proto)
pbStringResponse =pbStringResponse1.SerializeToString()
return pbStringResponse
if __name__ == '__main__':
time1 = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
json_obj = {'value': '1.23', 'name': 'fcao', 'descibe': time1}
request=json_to_pb(json_obj)
print(request)
print(type(request))
json_result = pb_to_json(request)
print(json_result)
print(type(json_result))
运行结果:
<class 'bytes'>
{
"value": "1.23",
"name": "fcao",
"descibe": "20210301170658"
}
<class 'str'>
Process finished with exit code 0