有人熟悉一个稳定的C ++解决方案(库,代码片段等),可以将原始文件消息转换成JSON吗?
答案 0 :(得分:6)
这个是更好的IMO:https://github.com/shramov/json2pb
它会在两个方向进行转换并处理扩展程序
答案 1 :(得分:3)
我为protobuf生成的类型创建了一个JSON解析器的引导实现,使用它的反射机制,并调整我之前为CORBA IDL生成的类型所做的解析。
您可以在http://corbasim.googlecode.com/svn/trunk/protobuf2json_exported.zip
找到它通过这种方式为每个protobuf定义的消息,您将能够通过执行以下操作来解析其实例:
Foo foo;
const std::string json_foo = "{\"text\": \"Hello world\"}";
protobuf2json::json::parse(foo, json_foo);
这只是一个初始实现,它只支持字符串字段,但它很容易实现所有类型的字段。
答案 2 :(得分:3)
pbjson是另一个基于rapidjson的,可能更快。
答案 3 :(得分:1)
pb2json是另一个可以做到这一点的C ++库。