VS中使用JSONCPP:安装+使用

JSONCPP的下载安装和编译

下载地址:https://sourceforge.net/projects/jsoncpp/

VS中使用JSONCPP:安装+使用_第1张图片

VS中使用JSONCPP:安装+使用_第2张图片

 

VS中使用JSONCPP:安装+使用_第3张图片

JSONCPP的使用

案例一:

#include 
#include 
#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;
}

输出为:

案例2:

#include 
#include 
#include "json.h"

int main(void)
{
	//解析Json的方法
	Json::Value root;//表示一个json格式的对象
	Json::Value arrayObj;
	Json::Value item;

	for (int i = 0; i < 10; i++)
	{
		item["key"] = i;
		arrayObj.append(item);
	}

	root["key1"] = "value1";
	root["key2"] = "value2";
	root["array"] = arrayObj;

	std::string out = root.toStyledString();
	std::cout << out << std::endl;

	getchar();
	return 0;
}

输出为:

VS中使用JSONCPP:安装+使用_第4张图片

注意:RunTime Library不一定非是MTD,在使用JSONCPP做项目时提示了错误:

error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“MTd_StaticDebug”

把RunTime Library的选项改为MDD就可以了。

 

 

 

 

你可能感兴趣的:(C++)