Gson解析HTTP请求的响应json数据,Map/Bean
2018-01-19 16:56
531 查看
maven依赖:
<dependency><groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
Demo:请求qq,获取user信息
private static final String QQ_APPID = "XXXXXXX";private static final String GET_USER_INFO = "https://graph.qq.com/user/get_user_info";
private static final String HEADER = "Content-Type", CONTENNT = "text/xml";
/**
* 利用获取到的accessToken,openid 去获取用户在Qzone的昵称等信息
*
* @param request
* @return
*/
public Map<String, Object> getUserInfo(HttpServletRequest request, Map<String, Object> param) {
Map<String, Object> response = new HashMap<String, Object>();
// 发送请求
try {
String token = param.get("accessToken").toString();
String openID = param.get("openID").toString();
String memberKey = param.get("memberKey").toString();
StringBuffer url = new StringBuffer(GET_USER_INFO + "?access_token=" + token + "&oauth_consumer_key=" + QQ_APPID + "&openid=" + openID);
HttpGet httpGet = new HttpGet(url.toString());
httpGet.addHeader(HEADER, CONTENNT);
HttpClient httpClient = HttpClientBuilder.create().build();
// 发送请求,获取结果
String entSt = EntityUtils.toString(httpClient.execute(httpGet).getEntity());
Gson gson = new Gson();
Map<String,Object>
4000
sqlParam = gson.fromJson(entSt, new TypeToken<HashMap<String,Object>>(){}.getType());//转Map
if ("0".equals(sqlParam.get("ret").toString())) {
QQUesr qqUesr = new Gson().fromJson(entSt, QQUesr.class);//转对象
//保存数据
//TODO
response.put("qq_info", qqUesr );
}
}
catch (ClientProtocolException e) {
log.getLogger("qq_s").error("请求https://graph.qq.com/user/get_user_info失败", param);
e.printStackTrace();
}
catch (Exception e) {
log.getLogger("qq_s").error("QQService.getUserInfo({})", param);
}
return response;
}
PS:demo中的请求是在APP完成QQ登入授权之后哦
相关文章推荐
- Gson解析(List和Map)格式json数据
- Gson解析(List和Map)格式json数据
- Android连接服务器数据库查询+Gson解析(List和Map)格式json数据(一)
- Gson解析(List和Map)格式json数据
- gson解析复杂json数据使用JsonBean
- Android连接服务器数据库查询+Gson解析(List和Map)格式json数据(二)
- Gson解析Map格式json数据
- Android JSON数据格式的解析,与简单对象、带泛型的List和Map的转换,以及GSON的使用
- Gson解析(List和Map)格式json数据
- JAVA解析JSON数据转化为Map对象
- JSON与JAVA数据的转换(bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean)
- 求帮忙用gson解析下这个嵌套的json数据
- Gson解析复杂的json数据
- 用Gson解析json数据
- [转]解析json:与array,list,map,bean,xml相互转化
- Android学习 (十八) 用GSON解析JSON数据并在ListView中显示
- Android基础之使用Gson解析json数据 第一弹
- Gson 解析JSON数据
- JSON数据解析(GSON方式)
- JMeter 插件 Json Path 解析 HTTP 响应 JSON 数据(转)