servlet 中响应 json 数据的最佳实践
经典 servlet 做法:
改良版本:
然而,可以使用以下库在 servlet 中实现快速便捷的 json 响应:
示例(使用 jackson):
import com.fasterxml.jackson.databind.ObjectMapper; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setHeader("Content-Type", "application/json"); ObjectMapper mapper = new ObjectMapper(); String id = request.getParameter("id"); if (id != null) { Page resultPage = pageService.getById(Integer.valueOf(id)); String json = mapper.writeValueAsString(resultPage); // 将实体转换为 JSON PrintWriter writer = response.getWriter(); writer.print(json); writer.flush(); writer.close(); } }
前端接收:
无需手动解析,可以使用 javascript 的 json.parse() 方法直接将响应转换为 json 对象。