spring mvc返回json格式需要引入的jar

方法一:
@RequestMapping(value="/testjson")
@ResponseBody
public UserForm testjson(@RequestBody UserForm user){
// 打印接收的JSON格式数据
System.out.println("uname=" + user.getUname());
// 返回JSON格式的响应
return user;
}对应的前端:
注意加: contentType : "application/json;charset=utf-8"
$.ajax({
//请求路径
url : "/testjson",
//请求类型
type : "post",
//data表示发送的数据
data : JSON.stringify({
uname : uname,
upass : upass,
}), //定义发送请求的数据格式为JSON字符串
contentType : "application/json;charset=utf-8",
//定义回调响应的数据格式为JSON字符串,该属性可以省略
dataType : "json",
//成功响应的结果
success : function(data) {
console.log(data);
if (data != null) {
alert("输入的用户名:" + data.uname + ",密码:" + data.upass);
}
}
});方法二:
@RequestMapping(value = "ajaxto")
@ResponseBody
public Map ajaxto(UserForm user,String uname){
Map<String, Object> map = new HashMap<>();
map.put("uname", uname);
map.put("upass", user.getUpass());
map.put("array", new String[]{"a", "b", "c"});
return map;
}前端:
去: contentType : "application/json;charset=utf-8"
$.ajax({
//请求路径
url : "/ajaxto",
//请求类型
type : "post",
//data表示发送的数据
data : {
uname : uname,
upass : upass,
}, //定义发送请求的数据格式为JSON字符串
// contentType : "application/json;charset=utf-8",
//定义回调响应的数据格式为JSON字符串,该属性可以省略
dataType : "json",
//成功响应的结果
success : function(data) {
console.log(data);
if (data != null) {
alert("输入的用户名:" + data.uname + ",密码:" + data.upass);
}
}
});总结:1.如果用JSON.stringify()将对象转成字符串,就需要在ajax请求中指定contentType 为 application/json,且后台需添加 @RequestBody注解;
2.如果直接传json对象则跟上面的相反,不能指定contentType为 application/json,其默认类型是 application/x-www-form-urlencoded
