我是Java和Spring的新手
如何循环/获取结果
[
WhatsappContatcsDTO(whatsappid = 11111111111, name = John Dee),
WhatsappContatcsDTO(whatsappid = 16315551234, name = Kerry Fisher)
]
因为我通过@Query从查询jpa得到了结果?
我确实想从那些结果查询中获取结果对象
我喜欢在我的服务器上获得结果:
[
{ name: "John Dee", whatsappid: "11111111111"},
{ name: "Kerry Fisher", whatsappid: "16315551234"}
]
这是我的服务:
public List<WhatsappContactVO> allContacts() {
List<WhatsappContactVO> finalResult = new ArrayList<>();
List<WhatsappChat> resultPerKey = whatsappChatRepository.findAllContact();
for(WhatsappChat data: resultPerKey) {
WhatsappContactVO result = modelMapper.map(resultPerKey, WhatsappContactVO.class);
finalResult.add(result);
}
return finalResult;
}
答案 0 :(得分:1)
创建Converter,将您的WhatsappChat转换为WhatsappContactVO,如下例所示。
@Component
public class WhatsappContactVOConvertor implements Converter<WhatsappContactVO, WhatsappChat> {
/**
* {@inheritDoc}
*/
@Override
public WhatsappContactVO convert(final WhatsappChat whatsappChat) {
final WhatsappContactVO whatsappContactVO = new WhatsappContactVO();
whatsappContactVO.setWhatsappid(whatsappChat.getwhatsappid());
whatsappContactVO.setName(whatsappChat.getName());
return whatsappContactVO;
}
}
初始化下面的conversionservice。
@Autowired
private ConversionService mvcConversionService;
软件包必须的Spring类
org.springframework.core.convert
现在,您必须按照以下方法使用此mvcConversionService将WhatsappChat转换为WhatsappContactVO
public List<WhatsappContactVO> allContacts() {
List<WhatsappContactVO> finalResult = new ArrayList<>();
List<WhatsappChat> resultPerKey = whatsappChatRepository.findAllContact();
finalResult = resultPerKey.stream().map(result-> mvcConversionService.convert(result, WhatsappContactVO.class))
.collect(Collectors.toList());
return finalResult;
}
答案 1 :(得分:0)
Class A
{
private String name;
private String whatsappid;
}
List<WhatsappContatcsDTO> exList=dao.getInformation();
List<A> newList=exList.stream().map(e->Converter.convert(ex)).collect(Collectors.toList());
String json=DTOToJsonConverter.convertDTOToJsonString(newList);
public class DTOToJsonConverter
{
public static String convertDTOToJsonString(List<A> list) {
Gson gson = new Gson();
String json = gson.toJson(list);
return json;
}
从DTO列表中返回JSON
答案 2 :(得分:0)
您可以将Modelmapper与TypeToken一起使用。
List<WhatsappChat> resultPerKey = whatsappChatRepository.findAllContact();
List<WhatsappContactVO> finalResult = new ArrayList<>();
finalResult = new ModelMapper()
.map(resultPerKey,new TypeToken<List<WhatsappContactVO> >(){}.getType());