我正在尝试将JSON数据作为来自servlet的响应发送到我的JSP页面中的Javascript代码。我使用代码response.getWriter.write(jsondata);
发回数据,其中jsondata是JSON对象。我在Javascript中得到的回复是[object Object],这不是我需要的。有人能帮我理解这里出了什么问题吗?
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
Map<String, Object> data = new HashMap<String, Object>();
data.put("success", true);
data.put("message", "Hello World!");
data.put("param", request.getParameter("user"));
// Write response data as JSON.
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
System.out.println(new Gson().toJson(data));
response.getWriter().write(new Gson().toJson(data));
}
另外,请注意,当我使用sysout打印json对象时,它工作正常,但是当我将它写入响应对象时,它会在Javascript端返回[object Object]。
答案 0 :(得分:0)
尝试一下
Gson gson = new Gson();
String jsonString = gson.toJson(chartData);
response.setContentType("application/json");
response.getWriter().write(jsonString);