开发环境
基于:IntelliJ IDEA、Maven构建工具、JDK1.8、SpringBoot 2.3.4 、Spring4.3.28编写。
官人如需使用 IDEA 请阅读教程:IntelliJ IDEA
官人如需使用 Maven 请阅读教程:Maven 构建工具的下载与安装
更多干货
请参考:《穿越 Java 之 语法基础篇》 系列文章
请参考:《穿越 Java 之 Web基础篇 》系列文章
请参考:《穿越 Java 之 开发必备框架篇 》 系列文章
请阅读:《穿越 Java 之 SpringBoot框架篇》系列文章
请阅读:《穿越 Java 之 SpringCloud微服务架构篇》 系列文章
原来的做法
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.68</version>
</dependency>
@RequestMapping("/demo1")
public void demo1(HttpServletRequest request, HttpServletResponse response) throws IOException {
//1. 设置响应内容
response.setContentType("application/json;charset=utf-8");
//2. 拿流写回JSON字符串
Map<String,String> data = new HashMap<>();
data.put("name","张三");
data.put("age", "20");
String s = JSON.toJSONString(data);
response.getWriter().write(s);
}
Spring框架下
在Spring框架下,这种开发工作也可以简化。
-
导入Jackson 的json库
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.11.2</version> </dependency> -
或者导入Gson 的json库
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.6</version> </dependency>
处理器方法:
原理
-
当处理器的方法上标记 @ResponseBody , @RequestBody
-
或者处理器的返回值类型是 HttpEntity 、 ReponseEntity 。
-
Spring内部的
HttpMessageConverter会在RequestMappingHandlerAdapter处理器方法执行过程中,进行工作。
下面演示用 fastJson 来处理 JSON数据的返回:
写法:
-
1.

-
2.

-
3.当一个类中的所有方法都是json数据时 相当于下图
依据是

本文介绍在SpringMVC中处理JSON数据的方法,包括使用FastJSON、Jackson和Gson库进行JSON数据转换,以及如何在处理器方法中应用@ResponseBody注解简化JSON响应。

被折叠的 条评论
为什么被折叠?



