JSON数据的转换需要依赖JSON转换包,所以我们需要先在工程中添加如下依赖包
<!--用于JSON数据转换-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.6</version>
</dependency>
本次谈论前端提交JSON数据,后台接收JSON数据,并将JSON数据转成JavaBean,后端响应JSON数据,前端接收后端响应的JSON数据。
接收JSON数据
例如前端传入用户(User)数据,并且以JSON格式传输,此时我们在后台接收,并且将接收到的JSON数据转换成User对象,我们可以使用@RequestBody注解实现。
后台接收
前端发送:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>首页</title>
<script src="/js/jquery-2.2.3.min.js"></script>
<script>
$(function () {
$('#btn').click(function () {
$.ajax({
url: '/json',
type: 'post',
contentType: 'application/json;charset=utf-8',
data: '{"name":"fbb","age":18}',
dataType: 'json',
success: function (data) {
console.log(data)
}
});
});
});
</script>
</head>
<body>
<button type="button" id="btn">发送JSON数据</button>
</body>
</html>
以上使用注解,在后台就可以拿到前端发送的数据
响应JSON数据
如果此时我们希望将用户的信息输出,并且以JSON格式输出,只需要使用SpringMVC提供的@ResponseBody注解即可实现。
(1)响应JSON数据
修改json方法,在方法上添加@ResponseBody注解,并修改返回类型为User,且将user返回,此时会将user以JSON格式输出。
(2)页面输出
以上前端可以接收到数据,只需正常处理即可。