大家好
有人可以帮助我,如何将我的HQL查询结果转换为JSON与对象列表,并得到它与休息服务。
这里是我的服务方法,返回qyery结果列表:
@Override
public List<Object[]> getAllDepartments() {
List<Object[]> list;
Query query = entityManager.createQuery("SELECT dp.name, avg (wr.salary) FROM Worker wr join wr.department dp GROUP BY dp.name");
list = query.getResultList();
return list;
}
字符串
我的Spring RESTfull控制器:
@RequestMapping(value = "/all", method = RequestMethod.GET)
@ResponseBody
public JsonNode getAllDeps() {
List<Object[]> list = departmentService.getAllDepartments();
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Integer> resultMap = new HashMap<String, Integer>(list.size());
for (Object[] result : list)
resultMap.put((String)result[0], ((Double)result[1]).intValue() );
final JsonNode json = objectMapper.valueToTree(resultMap);
return json;
}
型
现在我的服务响应我的json与数据在那看起来:{“安全”:1500,“经济”:1850,“IT”:2000}
但我需要在那个(对象列表):
[{name:“Security”,salary:“1500”},{name:“Economical”,salary:1850},{name:“IT”,salary:2000}]
谢谢你的帮助。
2条答案
按热度按时间bpzcxfmw1#
只需从控制器方法返回列表
字符串
@ResponseBody
注解为您完成转换。91zkwejq2#
字符串