我想将几个C ++对象序列化为JSON,然后反序列化它们。显然,由于C ++缺乏反射,因此不能自动完成。我需要以某种方式告诉序列化器哪个数据成员进入哪个JSON属性。
我可以用C ++做到这一点,但我宁愿使用Protobuf的message
来指定映射。在那里的许多JSON C ++库中,有没有一个支持某种元数据,允许我映射序列化过程而不是自己实现它?
答案 0 :(得分:1)
您可以简单地使用JSON cpp或C文件并将它们用作API。这就是我为之前的项目所做的。 C ++没有内置的JSON支持,如JAVA。 因此包含文件并使用JSON函数作为API。您可以单独构建它并将其静态链接到您的程序。转到JSON主页以获取语言明智的文件:
对于CPP文件: http://sourceforge.net/projects/jsoncpp/
我认为它转移到git repo。链接在那里。
希望这有帮助。
答案 1 :(得分:0)
OSS Nokalva的ASN.1工具支持ASN.1 schemae的JSON编码规则。
你编写了一个ASN.1模式(protobufs模式类似但是次要),将它编译成你想要的任何语言(在你的情况下是C ++),然后你得到了一堆可以串行到/来自JSON的类。
不自由我害怕。
ASN.1很棒 - 有各种各样的编码规则适合所有场合。