java list gson_如何序列化java.util.List 使用Gson库访问Json吗?

在我的servlet中,我有以下代码:

response.setContentType("application/json");//set json content type

PrintWriter out = response.getWriter();

EntityManagerFactory emf=Persistence.createEntityManagerFactory("webPU");

GpsJpaController gjc=new GpsJpaController(emf);

java.util.List listGps=gjc.findGpsEntities();//retrieve the list of GPS from DB

Gson gson=new Gson();

String json=gson.toJson(listGps); //convert List to json

out.println(json);

使用以下代码从ajax返回响应:

$.ajax({

type: "GET",

url: "getInfoGeoActive",

dataType: 'json',

error: function(xhr, ajaxOptions, thrownError){ $("#content").empty().append("* Error from server cause: "+thrownError).addClass("error"); } ,

success:function(data){$("#content").empty().append(data);}

});

当我运行代码时,我仍然收到以下错误(来自ajax):

Error from server cause:Internal Servlet Error

我还尝试List在没有ajax的同一java页面中显示序列化对象,如下所示:

EntityManagerFactory emf=Persistence.createEntityManagerFactory("JavaApplication21PU");

GpsJpaController gjc=new GpsJpaController(emf);

java.util.List listGps=gjc.findGpsEntities();

Gson gson=new Gson();

String json=gson.toJson(listGps);

System.out.println(json);

我收到此错误:

Exception in thread "main" java.lang.StackOverflowError

at java.lang.StrictMath.floorOrCeil(StrictMath.java:355)

at java.lang.StrictMath.floor(StrictMath.java:340)

at java.lang.Math.floor(Math.java:424)

at sun.misc.FloatingDecimal.dtoa(FloatingDecimal.java:620)

at sun.misc.FloatingDecimal.(FloatingDecimal.java:459)

at java.lang.Double.toString(Double.java:196)

at java.lang.Double.toString(Double.java:633)

at com.google.gson.stream.JsonWriter.value(JsonWriter.java:441)

at com.google.gson.Gson$4.write(Gson.java:270)

at com.google.gson.Gson$4.write(Gson.java:255)

请帮忙!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值