如何使用Key作为列从HQL查询和结果获取列名到json

时间:2013-01-16 06:25:15

标签: java json hql gson

如何将hql查询结果直接转换为Json。我试过这个

            Query query=session.createQuery(SQLUtilsConstants.fQuery);
    query.setParameter(StringConstants.TRPID, trId);
    List list=query.list();
            gson = new Gson();
            String jsonStudents = gson.toJson(list);
           System.out.println("jsonStudents = " + jsonStudents);

当我转换时。我得到一个没有属性的值列表的json。查询结果包含来自多个表的数据。我想生成结果,其中属性为键,值为输出。如果查询包含customerid和customername,那么我需要一个像这样的结果。

      [{"customerid" : "abc", "customername" : "rose"}]

但是使用上面的代码我得到这样的..           [{“abc”,“rose”}]

我该怎么做?

1 个答案:

答案 0 :(得分:0)

您应该创建一个地图,无论您想要它。然后将地图解析为json。

Map<String,WhatEver> newMap = new HashMap<String,WhatEver>();
foreach(WhatEver item: list){
      //create your map how ever you like it to be
     

}
  String jsonStudents = gson.toJson(newMap);