Java Fullcalendar和json
我正在尝试从数据库加载事件。我正在使用GAE、java和JSP。我的问题在于json响应。如果我直接在脚本中写入json的输出,它将正常工作,但通过ajax调用号。这是我在java中的方法:Java Fullcalendar和json,java,json,google-app-engine,fullcalendar,Java,Json,Google App Engine,Fullcalendar,我正在尝试从数据库加载事件。我正在使用GAE、java和JSP。我的问题在于json响应。如果我直接在脚本中写入json的输出,它将正常工作,但通过ajax调用号。这是我在java中的方法: public void caricaDati(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Date start=JavaTimeStampToDate
public void caricaDati(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Date start=JavaTimeStampToDateTime(Double.parseDouble(req.getParameter("start")));
Date end=JavaTimeStampToDateTime(Double.parseDouble(req.getParameter("end")));
Date afterAddingTenMins=new Date(start.getDate() + (10 * 60000));
ObjectifyService.register(Appuntamento.class);
List<Appuntamento> listaA= ofy().load().type(Appuntamento.class).filter("d >=", start).filter("d <=", end).list();
System.out.println(listaA);
JSONObject j= new JSONObject();
for(Appuntamento a : listaA){
resp.setContentType("application/json"); // Set content type of the response so that jQuery knows what it can expect.
resp.setCharacterEncoding("UTF-8");
resp.getWriter().write(utilDispensaToJson(a, start, end));
}
}
json的输出是:
[{id:'6473924464345088',title:'dfsf',start:'2014/04/25 08:30',allDay:false}]您的输出JSON似乎无效 属性(id、title、start、allday)应该用双引号括起来,字符串类型的值也应该用双引号括起来。这里使用单引号而不是双引号 参考: 您还可以在此网站上测试JSON字符串的有效性:
public String utilDispensaToJson(Appuntamento k, Date Start, Date End) {
StringBuilder sb = new StringBuilder();
try {
sb.append("[");
sb.append("{");
sb.append("id : '" + k.getId() + "' , ");
sb.append("title : '" + k.getTitolo() + "' , ");
sb.append("start : '" + k.getData() + "' , ");
//sb.append("\"end\" : \"" + End + "\",");
sb.append("allDay : false ,");
sb.deleteCharAt(sb.lastIndexOf(","));
sb.append("}");
sb.append("]");
System.out.println(sb.toString());
return sb.toString();
} catch (Exception e) {
return "errore";
}
}