声明:
当前网上有很多json相关的开源库,接触网络方面的技术大牛们对json这个网络数据格式也并不陌生,鄙人个人比较喜欢用jsoncpp这个库,所以这里请各位大牛们多多指导。
步骤:
一、jsoncpp lib生成
1、下载jsoncpp库方式有两种:
1.1 可以使用git clone这个命令克隆 https://github.com/open-source-parsers/jsoncpp.git完整包。
1.2 可以下载鄙人上传到csdn资源库中的源码 http://download.csdn.net/download/wu110112/9817317
2、无论下载鄙人的百度网盘还是克隆git上面的源码请按照如下步骤操作
2.1 找到(个人保存的路径)\jsoncpp-master\jsoncpp-master\makefiles\msvc2010文件夹
2.2 用vs打开jsoncpp.sln或lib_json.vcxproj
2.3 修改debug版本的工程属性,把目标文件名后面添加一个_d表示debug版本
2.4 编译lib_json生成debug和release两个版本lib文件
二、vs工程加入jsoncpp相关的步骤
1、在vs工程目录下新建一个jsoncpp文件夹,然后在当前目录下分别创建include和lib文件夹
2、把jsoncpp中的头文件copy到incude文件夹中
3、把jsoncpp中生成的debug和release版本的lib都copy到lib文件夹中
4、在自己的vs工程中添加json的lib库和头文件如图:
按照如上方式步骤添加当前就可以正常使用json库了。
鄙人写的测试jsoncpp的demo
demo对应解析json数据代码如下:
void Cjsoncpp_testDlg::OnBnClickedOk()
{
string json = "{\"data\":[{\"cateId\":\"638300000000000002\",\"name\":\"炒菜\",\"rank\":1},\
{\"cateId\":\"638300000000000003\",\"name\":\"汤\",\"rank\":2}],\"code\":200,\"msg\":\"\"}";
Json::Reader reader;
Json::Value root;
if (!reader.parse(json.c_str(), root))
{
AfxMessageBox(TEXT("json error!"));
}
if ( root.isObject() )
{
Json::Int size = root["data"].size();
if ( size != 0)
{
Json::Int i = 0;
string jsondata;
for (; i