转换列表< Object []>到JSON [英] Convert List<Object[]> to JSON
本文介绍了转换列表< Object []>到JSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好!
有人可以帮助我,如何将我的HQL查询结果转换为带有对象列表的JSON并获取它休息服务。
Can someone helps me, how to convert my HQL query results to JSON with list of objects and get it with rest service.
这是我的服务方法,它返回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}
Now my service responce me json with data in thats look : {"Security":1500,"Economical":1850,"IT":2000}
但我需要(对象列表):
But i need in that(list of objects):
[{name:Security,salary:1500},{name:Economical,salary:1850},{name:IT,salary:2000}]
[{name:"Security",salary:"1500"},{name:"Economical",salary:1850},{name:"IT",salary:2000}]
感谢您的帮助。
推荐答案
只需从控制器返回列表方法
Just return the list from the controller method
@RequestMapping(value = "/all", method = RequestMethod.GET)
@ResponseBody
public List<Object[]> getAllDeps() {
List<Object[]> list = departmentService.getAllDepartments();
return list;
}
@ResponseBody
注释为您进行转换。
这篇关于转换列表< Object []>到JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文