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();
}
}
{
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();
}
}
相关文章推荐
- 我自己的Javascript 库,封装了一些常用函数
- 关于<:if>没有<c:else>解决方案
- [No000069]Javascript中this关键字详解
- JS 数据类型转换和数据有效性判断
- js使用正则查找子串
- js中利用window.open()打开带参数的链接问题
- 运用iscroll.js遇到的问题
- hackermi javascript 修改css样式
- js倒计时简单实现方法
- JavaScript之解释与执行
- struct2 与jsp交互
- JS表单原生验证器
- jsp引入jsp或者js
- JS函数的几种定义方式分析
- js实现文字闪烁特效的方法
- 浅谈json转c#对象
- JavaScript基础(2):什么是“闭包”?
- javascript动态获取当前页面的url
- 《Effective JavaScript》- 1.5 避免对混合类型使用 == 运算符
- Jackson jsonString解析Bean,没有对应字段情况