如何从servlet将Json发送到JSP,而不将其转换为String

时间:2014-06-04 16:03:51

标签: java javascript ajax json jsp

我的JSP中有一个Ajax调用,它以Java字符串的形式返回一个JSON对象。

public void doGet(HttpServletRequest request, HttpServletResponse res) throws IOException, ServletException {
    try {
        String fromDate = request.getParameter("drFrom");
        String toDate = request.getParameter("drTo");
        JSONArray jsonArray = chartData.getCCSBJson(fromDate, toDate);
        res.setContentType("application/json");
        res.getWriter().write(jsonArray.toString());

我是否可以在jsonArray.toString()内不使用res.getWriter().write(jsonArray.toString());的情况下将JSON发送到JSP,因为在将其作为字符串发送后,我无法在JSP中解析JSON。

这与帖子有关:How to parse a JSON object from ajax call in Java Script

1 个答案:

答案 0 :(得分:3)

只需将JSON字符串解析为Servlet本身的Java对象,并将Java对象传递给JSP而不是普通的String。

要遵循的步骤:

  • 只需创建一个Java POJO类,它是JSON字符串
  • 的副本
  • 将JSON字符串转换为Servlet本身的POJO类对象
  • 将HTTP请求中的对象设置为属性
  • 从JSP
  • 中的HTTP请求中获取对象

注意: Java POJO类必须为Serializable

尝试使用JavaScript - JSON.parse()方法将字符串解析为JSON,可选择转换通过JavaScript解析产生的值。