
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 对象。