2013-07-04 28 views
0

从查询中的SessionBean的ArrayList到JSON

public List getUserTransaction(User user, Balancestatus status) { 
return em.createNamedQuery("Balance.findLastFiveTransaction").setParameter("user", user).setParameter("status", status).getResultList(); 

我查询

select b from Balance b join b.typecategory t where b.user = :user and b.typecategory = t and b.status = :status 

获得在servlet的数据接收结果,并传递到JSON

PrintWriter out = response.getWriter(); 

user = userHandler.userCheck("[email protected]"); 
List<Balance> userTransaction = balance.getUserTransaction(user, outStatus); 
Gson gson = new Gson(); 
String json = gson.toJson(userTransaction); 

out.write(json); 

使用jQuery和输出在尝试解析控制台

............. 
$.each(data, function(index, element) { 
console.log(element); 
}); 
.............. 

并且得到错误

TypeError: invalid 'in' operand obj [Break On This Error]

typeof length === "number" && length > 0 && (length - 1) in obj);

的json从ArrayList中到JSON

[{"id":"7","description":"evil data show","sum":666.00,"category":{"id":"1","name":"Wallet"},"typecategory":{"id":"4","name":"Home"},"user":{"id":"1","created":"Jun 5, 2013 1:44:45 PM","email":"[email protected]","pass":"mail","updated":"Jun 5, 2013 1:44:45 PM"},"status":{"id":"2","statusName":"out"}} ...........]

如何正确传递的ArrayList到JSON?使用JBoss AS 7.1

+0

找到的解决方案需要解析JSon并删除空间。稍后添加完整的正确答案 – user2483213

回答

0

我的解决方案

$.parseJSON(data.trim());

if(data){ 
    var obj = $.parseJSON(data.trim()); 
    $.each(obj, function(index, element) { 
     $('#divRenderTable').append('<br>'+element.sum+" "+element.description+" "+element.typecategory.name); 
});