JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard
ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。
易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard
ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。
jsoncpp是人气最高的一种json c++实现 官网以及参考手册: http://jsoncpp.sourceforge.net/index.html
其他的实现包括
详情参见json官网:http://www.json.org/json-zh.html
要使用jsoncpp库 我们需要获取到静态链接库或者动态链接库以及相应的头文件
下面我们就对这一过程进行详细说明:(windows平台)
第一步:到sourceforge下载最新的jsoncpp库http://sourceforge.net/projects/jsoncpp/files/jsoncpp/
目前最新的版本为0.6.0-rc2
第二步:解压得到的jsoncpp-src-0.6.0-rc2.tar.gz文件
定位到目录\jsoncpp-src-0.6.0-rc2\makefiles\vs71会发现一个jsoncpp.sln的VS工程文件,用VS打开
第三步:设置jsoncpp库的runtime library
这一步根据自己项目工程需要来设置 我的工程采用的是Multi-threaded Debug DLL (/MDd)
设置方法:
1.右键工程properties->Configuration Properties->C/C++->Code Generation
2.在弹出窗口左上方Configuration选择debug 然后将面板中Runtime Library设置为Multi-threaded Debug DLL (/MDd)
3.在弹出窗口左上方Configuration选择release 然后将面板中Runtime Library设置为Multi-threaded DLL (/MD)
注意:
通过以上设置之后 release版本的库在使用过程中会有编译不通过的问题,解决方法如下:
1.右键工程properties->Configuration Properties->C/C++->Output Files 将Assembler Output设置为No Listing
2.properties->Configuration Properties->C/C++->Optimization 将Optimization设置为Full Optimization(/ox)
然后继续
第四步:抽取自己的库
1.在想要存便已完成的库的地方如(C:\)建立文件夹jsoncpp-0.6.0,并建立子目录jsoncpp-0.6.0\lib_json\debug jsoncpp-0.6.0\lib_json\release
2.将工程目录中的jsoncpp-src-0.6.0-rc2\include文件夹拷贝至jsoncpp-0.6.0下
3.将jsoncpp-src-0.6.0-rc2\build\vs71\debug\lib_json\lib_json.lib拷贝至jsoncpp-0.6.0\lib_json\debug
4.将jsoncpp-src-0.6.0-rc2\build\vs71\release\lib_json\lib_json.lib拷贝至jsoncpp-0.6.0\lib_json\release
OK 至此我们需要的库就打包好了jsoncpp-0.6.0
使用方法跟一般静态链接库的用法相同