Java Fullcalendar和json

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

我正在尝试从数据库加载事件。我正在使用GAE、java和JSP。我的问题在于json响应。如果我直接在脚本中写入json的输出,它将正常工作,但通过ajax调用号。这是我在java中的方法:

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";
    }

}