Hibernate查询的数据转换成json

我们使用Hibernate查询的数据,比如'select t.time,t.id,t.name from Stu t';
得到的应该是一个Object[]的List,里面的值的类型是不确定的;
然后用Gson转换成字符串传给客户端后怎么反转换成list???

哥们啊,同病相怜啊,这两天。。。。我。。。哎。。。
用hibernate查出来的数据只是一连串的字符串,根本就不是键值对的形式,我一个同学,做的项目用的是ibatis做的数据库持久层,那个查出来 然后JSONArray.fromObject(list),就直接转换成了json格式的数据,我一直以为我项目里其他的代码错了,搞了两天,浪费了我好多时间
如果是正确的json数据格式,传给客户端就是下面的代码
Long total = loginBiz.getTotal(); //记录总数
JSONArray json = JSONArray.fromObject(list);
getResponse().setContentType("application/json;charset=utf-8");
getResponse().setHeader("cache-control", "no-cache");
str = "{\"total\":"+ total + ",\"rows\":" + json + "}";
PrintWriter out = getResponse().getWriter();
out.write(str);
return null;//虽然是空值但是一定要有返回值,这个值随便写
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-31
如果不用ajax的话,你完全可以在jsp上面展示你的list数据。没必要用json啊,一般用json都是涉及到了ajax,在你的action用jsonUtil将list转换成json字符串,在ajax的回调函数用eval(json字符串)解析成js object,js里面只会看做是object数组。
第2个回答  2011-10-31
你想用Ajax?追问

不是,只是单纯的Servlet用于传输数据,但是list转换成json传送给客户端后不知道该怎么反转换成list??

追答

这个我也没用过 我倒是在页面用javascript的eval()函数解析过Json数据,然后再动态放到页面

本回答被网友采纳
相似回答