您的位置:首页 > 其它

linkHashMap转实体对象

2017-12-16 13:28 141 查看
在项目中,我们所获取到的数据格式会出现这样的情况,ArraryList下面的数据是linkHashMap的格式,每个linkHashMap其实是对应的数据实体类,这时我们得到这种数据格式时,无法获取数据实体类里面的字段,无法get()到,因为是linkHashMap是键值对形式存在的,这时候我们需要对按其如下方法转换

List<StaffInfoBean> stafflist = (List<StaffInfoBean>) responseBean.getResult();
String jsonData = JsonUtils.objectToJson(stafflist);
stafflist = JsonUtils.jsonToList(jsonData, StaffInfoBean.class);

上述方法需要进行两次的转换,存在性能问题

ParameterizedTypeReference<ResponseBean<List<StaffInfoBean>>> typeRef = new ParameterizedTypeReference<ResponseBean<List<StaffInfoBean>>>() {
};
ResponseEntity<ResponseBean<List<StaffInfoBean>>> responseEntity = restTemplate.exchange(Constant.STAFF_SERVICE + "/staffInfo/queryShowAllStaffInfos", HttpMethod.POST, new HttpEntity<>(staffInfoDTO), typeRef);
ResponseBean<List<StaffInfoBean>> responseBean = responseEntity.getBody();
List<StaffInfoBean> stafflist = responseBean.getResult();
这种方法也可以解决,只不过需要包装两层



先转成json数据格式,再将json格式转换为list中的对象格式,之后就可以使用get()方法获取对象中的具体字段
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: