当然工具不止这一个,比如还有阿里巴巴的 fastjson 等等。
我们这里使用Jackson,使用它需要导入它的jar包;
导入 servlet-api、jsp-api、jstl三个依赖包和如下json解析工具依赖包
<dependency>
<groupId>com.fasterxml.jackson.coregroupId>
<artifactId>jackson-databindartifactId>
<version>2.13.3version>
dependency>
这里我们需要两个注解:
@Controller
public class UserController {
@ResponseBody //即:响应体 加上之后就不会走视图解析器,会直接返回一个字符串
//produces = "application/json;charset=utf-8" 加上这行代码,则显示的视图信息不会乱码!
@RequestMapping(value = "/j1",produces = "application/json;charset=utf-8")
public String json(){
User user = new User("酷小亚","15","男");
return user.toString();
}
}
配置Tomcat , 启动测试一下!
.
但是如何把它转化成JSON格式呢?
代码如下:
//@Controller (不用)
@RestController //[一个顶两个]
public class UserController {
//@ResponseBody (不用)
@RequestMapping(value = "/j1",produces = "application/json;charset=utf-8")
public String json1() throws JsonProcessingException {
//创建对象映射器
ObjectMapper mapper = new ObjectMapper();
User user = new User("酷小亚","15","男");
//writeValueAsString : 写入的值作为json字符串
String str = mapper.writeValueAsString(user);
return str;
}
}

在类上直接使用 @RestController ,就不用再每一个都添加 @ResponseBody !
这样里面所有的方法也都会返回 json 字符串。
@RestController = @Controller + @ResponseBody