首页 > 文章列表 > Servlet响应JSON数据的最佳实践是什么?

Servlet响应JSON数据的最佳实践是什么?

207 2025-03-18

servlet 中响应 json 数据的最佳实践

经典 servlet 做法:

  • 将普通实体直接作为响应字符串输出。
  • 前端需要手动将字符串解析为 json。

改良版本:

  • 构造一个 json 字符串,包含实体键值对。
  • 前端无需手动解析,但依旧需要自己编写 json 解析逻辑。

然而,可以使用以下库在 servlet 中实现快速便捷的 json 响应:

  • jackson
  • gson
  • fastjson

示例(使用 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 对象。

来源:1739988592