java - 全日历和 json

标签 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=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的方法:

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

}

json的输出是:

[{id : '6473924464345088' , title : 'dfsf' , start : '2014/04/25 08:30' , allDay : false }]

最佳答案

您的输出 JSON 似乎无效。

属性(id、title、start、allday)应该用双引号引起来,字符串类型的值也是如此。这里使用单引号而不是双引号。

引用号:https://google-styleguide.googlecode.com/svn/trunk/jsoncstyleguide.xml#Double_Quotes

您还可以在此网站上测试 JSON 字符串的有效性:http://jsonlint.com/

关于java - 全日历和 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23266207/

相关文章:

java - Google 电子表格中的 appengine 问题

google-app-engine - GAE/GWT : Error loading modules: Unable to find 'com/androidstartup/serialization/KPadProject.gwt.xml'

java - 合并或更新持久化对象

java - Spring Security 中需要授权的文本表示

java - 使用 conf 文件夹的 Gradle 构建文件,其属性不在 jar 中,而是在类路径中

json - Angular 2 HTTP post方法不会将数据发送到request.JSON在Grails Action中

javascript - 从文件中读取json数据

javascript - Visual Studio Code JSON 对象在新函数中丢失智能感知

tomcat7 上的 java 命令行参数

java - GAE 无主 JPA 关系