Ada*_*tan 3 python serialization json protocol-buffers-3
根据手册,Protobuf 3.0.0支持JSON序列化:
JSON 中定义良好的编码,作为二进制原始编码的替代方案。
我尝试过什么
json.dumps(instance)这提出了TypeError(repr(o) + " is not JSON serializable")instance.to_json()(或类似的)功能如何将 Python 原型对象序列化为 JSON?
我错误地安装了protobuf3- 我以为它是protobuf3Python 包,但它是一个非官方的Python 3 protobuf 2 包,而不是相反。在开始之前将其删除。
经过一番尝试和错误后,以下解决方案有效。如果有的话,请随时发布更好的/官方的。
protobuf2(我用过brew uninstall)。确保protoc没有出现在路径中。protobuf3二进制文件。还没有自制程序包,所以我使用了 OSX 二进制文件protoc-3.0.0-osx-x86_64.zip。脚本make也是一个选项。
bin到/usr/local/bininclude到/usr/local/includeprotoc --version应该显示libprotoc 3.0.0。protobuf到/tmpcd protobuf-master/python && setup.py install相关函数MessageToJson位于google.protobuf.json_format module:
from google.protobuf import json_format
o = SomeProtobufClass()
print json_format.MessageToJson(o)
{
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5864 次 |
| 最近记录: |