您的位置:首页 > Web前端 > JavaScript

windows下 jsoncpp的编译和使用

2014-08-06 15:10 666 查看
解压下载好的文件:jsoncpp-src-0.5.0.tar.gz
利用VS2010打开jsoncpp-src-0.5.0\makefiles\vs71目录下的jsoncpp.sln,会出现三个Project:jsontest, lib_json, test_lib_json
在lib_json上右击-->Properties-->Configuration Properties-->C/C++-->Code Generation,设置RunTime Library 为MTD
在jsoncpp-src-0.5.0\build\vs71\debug\lib_json目录下会生成一个json_vc71_libmtd.lib,将这个lib拷贝至TestJSON工程目录下。
将jsoncpp-src-0.5.0\include\json目录下的所有.h文件拷贝至TestJSON工程目录下,并在工程Header Files引入.
在TestJSON工程名上 右击-->Properties-->Configuration Properties-->C/C++-->Code Generation, 将Runtime Library设置为MTD。
TestJson-->Properties-->Configuration Properties-->Linker-->Input, 在Additional Dependencies里填写json_vc71_libmtd.lib,然后确定,编译就行了。


#include <iostream>
#include <string>
#include "json.h"

int main(void)
{
	std::string strValue="{\"key1\":\"value1\",\"array\":[{\"key2\":\"value2\"},{\"key2\":\"value3\"},{\"key2\":\"value4\"}]}"; 
	Json::Reader reader;//json解析
	Json::Value value;//表示一个json格式的对象

	if(reader.parse(strValue,value))//解析出json放到json中区
	{
		std::string out=value["key1"].asString();
		std::cout<<out<<std::endl;
		const Json::Value arrayObj=value["array"];//迭代器
		for (int i=0; i < arrayObj.size();i++)  
		{
			out=arrayObj[i]["key2"].asString();
			std::cout<<out;
			if(i!=arrayObj.size()-1)
				std::cout<<std::endl;;
		}
	}

	getchar();
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: