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

How to send Json to JSP from servlet , with out converting it to a String

本文关键字:转换 字符串 JSP Json servlet      更新时间:2023-09-26

我的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());

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

这是有关的帖子:如何解析JSON对象从ajax调用在Java Script

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

后续步骤:

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

注意: Java POJO类必须是Serializable

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