帮我用python写一个json与proto互转的代码
时间: 2023-03-30 19:00:19 浏览: 175
实现protobuf和json互相转换python3源码
好的,我可以回答这个问题。以下是一个简单的 Python 代码示例,可以将 JSON 格式的数据转换为 Protocol Buffer 格式的数据,或将 Protocol Buffer 格式的数据转换为 JSON 格式的数据:
```python
import json
import proto_example_pb2
# 将 JSON 格式的数据转换为 Protocol Buffer 格式的数据
def json_to_proto(json_data):
proto_obj = proto_example_pb2.ExampleMessage()
json_dict = json.loads(json_data)
proto_obj.field1 = json_dict['field1']
proto_obj.field2 = json_dict['field2']
# ...
return proto_obj.SerializeToString()
# 将 Protocol Buffer 格式的数据转换为 JSON 格式的数据
def proto_to_json(proto_data):
proto_obj = proto_example_pb2.ExampleMessage()
proto_obj.ParseFromString(proto_data)
json_dict = {
'field1': proto_obj.field1,
'field2': proto_obj.field2,
# ...
}
return json.dumps(json_dict)
```
这个示例代码假设你已经定义了一个名为 `proto_example.proto` 的 Protocol Buffer 文件,并使用 `protoc` 工具生成了对应的 Python 代码文件 `proto_example_pb2.py`。如果你还没有定义过 Protocol Buffer 文件,可以参考 Google 的官方文档:https://developers.google.com/protocol-buffers/docs/pythontutorial
阅读全文