jsoncpp是C++程序用来解析json的开源库,支持c++11,目前该项目已经迁移到GitHub上面。
地址:https://github.com/open-source-parsers/jsoncpp
下载是需要注意,目前jsoncpp支持了c++11,下载是需要注意区分
- 1.y.z is built with C++11
- 0.y.z can be used with older compilers
目前最新的非c++11版本是:0.10.5,c++11最新的版本是:1.6.5。我使用的是0.10.5版本,采用VS2015编译。
编译
- 下载源码,jsoncpp-0.10.5
- 编译源码,进入makefiles\msvc2010,打开jsoncpp.sln,编译,编译的结果为静态库,存放在jsoncpp-0.10.5\makefiles\msvc2010\Debug下,release编译同上,结果为lib_json.lib
使用
- 引用头文件,拷贝jsoncpp-0.10.5\include到工程目录
- 引用lib库,拷贝lib_json.lib到工程目录
- 静态引用,#pragma comment(lib, “lib_json.lib”)
- 源码实例,主要是读取json对象,代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
使用过程中出现的问题:
- 引用jsoncpp库后链接错误
原因:
由于jsoncpp库的编译时运行库设置的是MT/MTd,而我们的demo程序使用过的是MD/MDd,两个运行库不匹配导致该问题
解决办法:
设置demo程序的运行库为MTd,解决该问题(或者编辑jsoncpp 库时将运行库改为MDd)