源:http://blog.csdn.net/qq_35488967/article/details/56667286
- 在GitHub官网上下载源码https://github.com/open-source-parsers/jsoncpp/
-
用cmake-gui生成.sln解决方案,cmake-gui使用教程请参考我以前的博客http://blog.csdn.net/qq_35488967/article/details/56480053
-
将json-cpp工程的include下的json文件夹拷贝到你自己的工程的include文件夹下,里面是一些必要的头文件。如图:
-
在代码中编译这个库。
新建一个jsonOperator类,其所在的文件为jsonOperator.h,jsonOperator.cpp。其demo如下,读者可根据自己的需要自行添加相关函数。
//jsonOperator.h文件
#pragma once
#include "json/json.h"
#ifdef _DEBUG
#pragma comment(lib,"../../lib/Debug/jsoncpp.lib")
#else
#pragma comment(lib,"../../lib/Release/jsoncpp.lib")
#endif
class jsonOperator
{
public:
jsonOperator();
virtual ~jsonOperator();
public:
static void parseItemId(char* json, int& nItemId); //解析itemId
};
//jsonOperator.cpp文件
#include "stdafx.h"
#include "jsonOperator.h"
#include "iostream"
using namespace std;
jsonOperator::jsonOperator()
{
}
jsonOperator::~jsonOperator()
{
}
void jsonOperator::parseItemId(char* json, int& nItemId)
{
if (json == NULL)
return;
std::string strJson(json);
Json::Reader reader;
Json::Value value;
if (reader.parse(strJson, value))
{
int nCommandId = value["command"].asInt();
if (nCommandId == 102)
{
if (!reader.parse(strJson, value))
{
return;
}
//解析itemid
nItemId = value["item"]["itemId"].asInt64();
}
}
}
5、 最后,在需要用到json解析的地方,包含头文件jsonOperator.h,就可以调用这个类了。