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

jsoncpp解析 json对象

2015-12-17 10:43 573 查看
void GetHttpValue::urlopen(std::string url)

{
std::string stTemp;
char chTemp[1000];
ZeroMemory(chTemp, 1000);
HINTERNET hSession = InternetOpen(_T("UrlTest"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
if (hSession != NULL)
{
HINTERNET hHttp = InternetOpenUrl(hSession, url.c_str(), NULL, 0, INTERNET_FLAG_DONT_CACHE, 0);
if (hHttp != NULL)
{
printf("%s\n\n", url.c_str());
BYTE Temp[MAXSIZE];
ULONG Number = 1;
while (Number > 0)
{
InternetReadFile(hHttp, Temp, MAXSIZE - 1, &Number);
Temp[Number] = '\0';
CopyMemory(chTemp, Temp, Number);
printf("%s", Temp);
}

InternetCloseHandle(hHttp);
hHttp = NULL;
}
InternetCloseHandle(hSession);
hSession = NULL;
}
stTemp = chTemp;
cout << "=========================" << endl << endl;
// 到这的作用:访问一个url地址,获取它的返回值(一个json对象)
cout << stTemp << endl;

std::string stResult = stTemp;
//从这开始解析这个json对象
Json::Reader readerJson;
Json::Value  valueJson;

if (readerJson.parse(stResult, valueJson))
{
int code = valueJson["code"].asInt();
std::string msg = valueJson["msg"].asString();
int userId = valueJson["data"]["userId"].asInt();
std::string nickName = valueJson["data"]["nickName"].asString();
std::string headImgURL = valueJson["data"]["headImgURL"].asString();
//这里有多重包含
int gold = valueJson["data"]["gold"].asInt();
int sex = valueJson["data"]["sex"].asInt();

}

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