使用protobuf ParseDict转换字典时报CMessage不适用str对象错误
问题解决
崩溃根因
google.protobuf.json_format.ParseDict 函数的第二个入参要求传入目标Protobuf消息类的实例对象,你当前直接传入了 MsgGrpType 这个类本身,导致内部字段操作方法调用时类型不匹配,触发了类型错误。
修复方案
将崩溃行的代码修改为如下即可:
# 第二个参数传入 MsgGrpType 的空实例,用于填充字典内容 result = ParseDict(msgDict, MsgGrpType(), ignore_unknown_fields=True)
修改后运行脚本即可正常将字典结构转换为对应的Protobuf对象,输出结果符合预期。
内容的提问来源于stack exchange,提问作者Salim Fadhley
相关产品推荐
相关产品推荐

