VC/MFC 使用jsoncpp解析json格式内容

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zzlsucceed/article/details/50184921

需求:

  1. VS编译工具(这里使用的是VS2012)
  2. jsoncpp-src(这里使用的是jsoncpp-src-0.6.0-rc2,CSDN的资源积分规则限制,现改为网盘存储
    下载链接:https://pan.baidu.com/s/1XQThBYT7_7sBjtmonshE7w ), 用于获取VC工程依赖的.h头文件和.lib库文件

步骤:

 1. 解压jsoncpp-src-0.6.0到任意目录,进入jsoncpp-src-0.6.0-rc2\makefiles\vs71目录
 2. VS打开jsoncpp.sln,编译之后会在根目录下生成build目录
 3. 进入jsoncpp-src-0.6.0-rc2\build\vs71\debug\lib_json目录会看到一个json_vc71_libmtd.lib文件。
 4. 此时生成工作已经完成
 5. 拷贝json_vc71_libmtd.lib和jsoncpp-src-0.6.0-rc2\include\json目录下的所有头文件至自己的工程目录中。

 如图:

这里写图片描述

之后加入到工程中,如图:

这里写图片描述

工程添加包含文件

#pragma comment(lib,"json.lib")
#include "json/json.h"

测试代码

	CString strJson = L"{\"test\": \"中文\"}";
	Json::Reader reader;
	Json::Value root;

	USES_CONVERSION;
	char* cJson = T2A(strJson.GetBuffer(0));
	strJson.ReleaseBuffer();

	CString test;
	
	if(reader.parse(cJson,root))
	{
		test = root["test"].asCString();
	}
	MessageBox(test);

注:工程项目需静态编译

展开阅读全文

没有更多推荐了,返回首页