C++ Protobuf到/从JSON转换

Zau*_*bov 18 c++ serialization json protocol-buffers

有人熟悉一个稳定的C++解决方案(库,代码片段等),它将protobuf消息转换成JSON或从JSON转换出来吗?

小智 6

这个是更好的IMO:https://github.com/shramov/json2pb

它会在两个方向进行转换并处理扩展


yin*_*wen 5

pbjson是另一个,它建立在 Rapidjson 之上,也许更快。


小智 4

我已经为 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);
Run Code Online (Sandbox Code Playgroud)

这只是一个初始实现,它只支持字符串字段,但很容易实现所有类型的字段。