0

如何将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。查询结果包含来自多个表的数据。我想生成以属性作为键和值作为输出的结果。如果查询包含客户 ID 和客户名称,那么我需要这样的结果.

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

但是使用上面的代码我会变成这样.. [{"abc", "rose"}]

我怎样才能做到这一点???

4

1 回答 1

0

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

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

}
字符串 jsonStudents = gson.toJson(newMap);

于 2013-01-16T07:57:30.580 回答