response.getWriter.write(jsondata)返回[对象对象]

问题描述 投票:1回答:1

我正在尝试将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]。

jquery json servlets
1个回答
0
投票

尝试一下

    Gson gson = new Gson();

    String jsonString = gson.toJson(chartData);

    response.setContentType("application/json");

    response.getWriter().write(jsonString);
© www.soinside.com 2019 - 2024. All rights reserved.