需求:
在对mongodb中的字段值进行解析的时候发现,因为这个值是json字符串,需要对其进行反序列化。
解决方法:
首先想到了到http://www.json.org/json-zh.html网站去找相应的C++库,试了一下jsoncpp和JSON Spirit,因为是用scons来构建了,装了一下,编译以后玩不起来,放弃了。再试JSON Spirit,(http://www.codeproject.com/Articles/20027/JSON-Spirit-A-C-JSON-Parser-Generator-Implemented), 这东东不错,好像是依赖于Boost Spirit的,这个我也装了,安装过程还是满方便的,因为我的C++项目都是用CMake的,这个也是用它的,所以编译安装没有遇到什么问题。下面给出一个相应的例子:
#include <json_spirit.h>
const std::string test =
"{"
" \"text\": \"Home-plate umpire Crawford gets stung http://tinyurl.com/27ujc86\","
" \"favorited\": false,"
" \"source\": \"<a href=\\\"http://apiwiki.twitter.com/\\\" rel=\\\"nofollow\\\">API</a>\","