javascript - 在javascript中解析JSON字符串?

标签 javascript ajax json

我正在使用 ajax 在 servlet 上发出请求并接收 json 字符串

servlet 代码//服务器端

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setHeader("Content-Type", "text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        Gson gson = new Gson();
        try { 
        ArrayList<SearchedCourse> searchedCourses = null;
        int semesterNo = request.getParameter("semesterNo");
        searchedCourses = //Using function to retrieve data from DB and return an ArrayList 
        String courses = gson.toJson(searchedCourses);
        out.write(courses);
                }
            }
        }  finally {
            out.close();
        }
    }

这是返回的 json 字符串“我用 firebug 复制了它”

[{"courseNumber":1619,"courseNo":"HADTA1100","courseName":"قرآن كريم (1) جزء عم","courseExamDate":"Aug 21, 2011","courseExamTimeFrom":"14:30","courseExamTimeTo":"15:30"},{"courseNumber":1663,"courseNo":"HADTB1100","courseName":"قرآن كريم (2) جزء تبارك","courseExamDate":"Aug 23, 2011","courseExamTimeFrom":"14:30","courseExamTimeTo":"15:30"}]

我使用下面的代码来解析Json字符串 在客户端

  jQuery.ajax({
    url: 'auth/json/AvailableCoursesGetter',
    type: "GET" ,
    dataType: "json",
    data: {
        'semesterNo': 20112
    },
    success: function(data) {
        for (var i = 0, len = data.length; i < len; i++) {
             document.write(data[i].courseNumber);
        }

    }
});

它在 Mozilla FireFox4 上运行良好,但在 Google Chrome 和 IE 上它不显示任何东西

有什么帮助吗?

最佳答案

我刚刚看到您在 servlet 中输出了以下 header :

response.setHeader("Content-Type", "text/html;charset=UTF-8");

尝试将内容类型更改为 application/json

关于javascript - 在javascript中解析JSON字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6204675/

相关文章:

javascript - 我可以以某种方式将当前运行的 javascript 函数记录到 Chrome 开发者控制台中吗?

javascript - float如何使用阈值并具有曲线?

javascript - 在 Google Apps 脚本中获取 NWS API 500 错误

javascript - 动态创建嵌套 json 对象

javascript - 在同一空间添加和调整 DIV 的大小

javascript - Sencha Touch : Can't add Marker to Map. 请帮忙?

javascript - Javascript 的 <Label> 标签替代品

java - 在 Tapestry 5.3 中链接多个选择组件(Ajax 更新)

javascript - 当阻止 Enter 键提交 AJAX 表单时,专注于下一个输入不起作用

java - 模拟方法,但它调用实际方法