转换列表< Object []>到JSON [英] Convert List<Object[]> to JSON

查看:104
本文介绍了转换列表< 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 注释为您进行转换。

这篇关于转换列表&lt; Object []&gt;到JSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆