
Servlet高效返回JSON数据
传统Java Servlet向前端返回JSON数据的方法是将对象直接写入输出流,这需要前端手动解析JSON字符串。然而,更便捷高效的方法是直接发送JSON对象,让前端自动解析。
优化方案:
- 利用Jackson、Gson或Fastjson等第三方库将Java对象转换为JSON字符串。
- 将JSON字符串写入Servlet的输出流。
- 设置HTTP头部
"Content-Type: application/json",告知前端接收的数据类型为JSON。
改进后的Servlet代码示例:
【极品模板】出品的一款功能强大、安全性高、调用简单、扩展灵活的响应式多语言企业网站管理系统。 产品主要功能如下: 01、支持多语言扩展(独立内容表,可一键复制中文版数据) 02、支持一键修改后台路径; 03、杜绝常见弱口令,内置多种参数过滤、有效防范常见XSS; 04、支持文件分片上传功能,实现大文件轻松上传; 05、支持一键获取微信公众号文章(保存文章的图片到本地服务器); 06、支持一键
立即学习“Java免费学习笔记(深入)”;
import com.fasterxml.jackson.databind.ObjectMapper;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setHeader("Access-Control-Allow-Origin", "*");
String id = request.getParameter("id");
if (id != null) {
Page resultPage = pageService.getById(Integer.parseInt(id));
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(resultPage); // 对象转JSON字符串
response.setContentType("application/json"); // 设置HTTP头部
response.setCharacterEncoding("UTF-8"); // 设置字符编码
response.getWriter().write(json); // 写入JSON数据
}
}
通过此方法,前端可以直接将收到的JSON字符串解析为JavaScript对象,无需手动解析,提高了开发效率和代码可读性。









