如何将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”}]
我该怎么做?
答案 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);