jsoncpp编译并添加到vs2015工程

前端之家收集整理的这篇文章主要介绍了jsoncpp编译并添加到vs2015工程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

声明:

当前网上有很多json相关的开源库,接触网络方面的技术大牛们对json这个网络数据格式也并不陌生,鄙人个人比较喜欢用jsoncpp这个库,所以这里请各位大牛们多多指导。


注意:

如果vs编译器版本小于vs2010版本编译时会提示找不到stdint.h头文件当前不要慌,如果你电脑安装了vs2010以上的版本找到对应的Microsoft Visual Studio X\VC\include目录下去把这个头文件copy到Microsoft Visual Studio X(小于vs20101版本)\VC\include目录下。

步骤:

一、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<size; i++)
			{
				if (!root["data"][i]["cateId1"].isNull())
				{
					string cateid = root["data"][i]["cateId"].asCString();
					string name = root["data"][i]["name"].asCString();
				}
				if ( !root["data"][i]["cateId"].isNull() )
				{
					string cateid = root["data"][i]["cateId"].asCString();
					string name = root["data"][i]["name"].asCString();
					
					jsondata.append(cateid);
					jsondata.append(",");
					jsondata.append(name);
				}
			}
		}
	}
	CDialogEx::OnOK();
}

猜你在找的Json相关文章