C ++ Protobuf到/从JSON转换

时间:2011-08-10 08:28:56

标签: c++ json serialization protocol-buffers

有人熟悉一个稳定的C ++解决方案(库,代码片段等),可以将原始文件消息转换成JSON吗?

4 个答案:

答案 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 ++库。