Servlet如何返回JSON数据给前端?

Servlet高效返回JSON数据给前端

本文介绍如何在Servlet中将JSON数据返回给前端。 直接打印普通实体到前端会返回字符串,无法被前端直接解析为JSON对象。 为了解决这个问题,我们需要借助JSON库,例如Jackson、Gson或Fastjson。

以下示例使用J

ackson库,将Java对象转换为JSON字符串并发送给前端:

import com.fasterxml.jackson.databind.ObjectMapper;

// ...其他代码...

Page resultpage = pageService.getById(Integer.valueOf(id));
ObjectMapper mapper = new ObjectMapper();
String responseContent = mapper.writeValueAsString(resultpage);

PrintWriter writer = response.getWriter();
response.setHeader("Content-Type", "application/json"); // 设置响应头
writer.print(responseContent);
writer.flush();
writer.close();

通过设置Content-Type响应头为application/json,前端浏览器就能自动将接收到的数据解析为JSON对象。 虽然Spring框架提供更强大的功能,但本示例针对Servlet环境进行了优化。