1、问题描述
今天写代码发现别人现成的方法返回的是user对象,但是我需要是userVo对象,这就需要将list里面的对象转换,不做任何改变,对别人代码没有影响,有方法,特此记录方便使用。
2、上代码
//答复通知书
if (StringUtils.isNotEmpty(a.getEvidenceId())) {
List<Evidence> evidenceList = evidenceMapper.selectByIdList(Arrays.asList(a.getEvidenceId().split(CommonConstants.SPLIT_COMMON)));
if (CollectionUtils.isNotEmpty(evidenceList)) {
List<EvidenceVo> evidenceVoList = JSONObject.parseArray(JSONObject.toJSONString(evidenceList), EvidenceVo.class);
evidenceVoList.forEach(evidenceVo -> evidenceVo.setEvidencePath(fdfsUtil.getDownLoadUrl() + evidenceVo.getEvidencePath()));
noticeReplyVo.setEvidenceList(evidenceVoList);
}
}
//其他附件材料
if (StringUtils.isNotEmpty(a.getOtherEvidenceId())) {
List<Evidence> evidenceList = evidenceMapper.selectByIdList(Arrays.asList(a.getOtherEvidenceId().split(CommonConstants.SPLIT_COMMON)));
if (CollectionUtils.isNotEmpty(evidenceList)) {
List<EvidenceVo> evidenceVoList = JSONObject.parseArray(JSONObject.toJSONString(evidenceList), EvidenceVo.class);
evidenceVoList.forEach(evidenceVo -> evidenceVo.setEvidencePath(fdfsUtil.getDownLoadUrl() + evidenceVo.getEvidencePath()));
noticeReplyVo.setOtherEvidenceList(evidenceVoList);
}
}
把数据转为json格式就可以进行各种转换:
1、对象转换
JSONObject messageJo = messageList.getJSONObject(i);
Message message = JSON.toJavaObject(messageJo, Message.class);
2、集合转换
List<EvidenceVo> evidenceVoList = JSONObject.parseArray(JSONObject.toJSONString(evidenceList), EvidenceVo.class);