lea*_*min 5 python dictionary protocol-buffers
如何将以下 dict 转换为 protobuf ?
我必须将 protobuf 作为有效负载发送到 mqtt 代理。我正在使用 python 3.8
publish_msg = {
"token":"xxxxxxxx",
"parms":{
"fPort":8,
"data":b"MDQzYzAwMDE=",
"confirmed":False,
"devEUI":"8CF9572000023509"
}
}
Run Code Online (Sandbox Code Playgroud)
我的protobuf定义如下:
syntax = "proto3";
package publish;
message DLParams{
string DevEUI = 1;
int32 FPort = 2;
bytes Data = 3;
bool Confirm = 4;
}
message DeviceDownlink {
string Token = 1;
DLParams Params = 2;
}
Run Code Online (Sandbox Code Playgroud)
这个怎么样?
import json
from google.protobuf import json_format
# Create an empty message
dl = DeviceDownlink_pb2.DeviceDownlink()
# Get the json string for your dict
json_string = json.dumps(publish_msg)
# Put the json contents into your message
json_format.Parse(json_string, dl)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11376 次 |
| 最近记录: |