サーブレットから JSP ページの Javascript コードへの応答として JSON データを送信しようとしています。コードを使用してデータを送り返し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] が返されることに注意してください。