Windows10 VS2019 C++ Json解析(使用jsoncpp库)

  • 时间:
  • 浏览:
  • 来源:互联网

前提条件:

1.项目必须是win32
2.生成的lib_json.lib放到工程目录下

首先从github下载最新版jsoncpp,0.10.7
https://github.com/open-source-parsers/jsoncpp/releases

 

在makefile目录的msvc2010打开工程进行编译,将库文件makefiles\msvc2010\Debug\lib_json.lib添加到工程目录

3.把include目录拷贝到引入lib的工程目录下,然后添加到:工程->属性->配置属性->vc++目录->包含目录

4.工程->属性->配置属性->c/c+±>代码生成->运行库,设置运行库为多线程调试 (/MTd)

5.工程->属性->配置属性->链接器>常规->附加库目录,设置为你存放lib_json.lib的目录

6.工程->属性->配置属性->链接器>输入->附加依赖项,把lib_json.lib添加进去

然后在自己项目里,就可以使用jsoncpp了

编写的示例代码如下:

#include <iostream>
#include<string>

#include<json.h>


using namespace std;

int main(int argc, char* argv[])
{
	const char* str = "{\"no\": 666, \"name\": \"jack\",\"age\": 18,\"sex\": \"man\",\"like\":\"\"}";

	Json::Reader reader;
	Json::Value root;
	if (reader.parse(str, root))  // reader将Json字符串解析到root,root将包含Json里所有子元素  
	{
		std::string name = root["name"].asString();  // 访问节点,name = "jack"  
		int no = root["no"].asInt();    // 访问节点,no = 666 
		int age = root["age"].asInt();	//年龄age = 18
		string sex = root["sex"].asString();	//性别 sex = man
		string like = root["like"].asString();	//爱好 like = 
		cout << "no:" << no << ", " << "name:" << name << ", " << "age:" << age << ", " << "sex:" << sex << ", ";
		cout << "like: " << like << endl;

	}

	return 0;

}

运行输出如下:

 

 

参考以下路径:https://www.pianshen.com/article/9340148507/

 

本文链接http://www.dzjqx.cn/news/show-617131.html