正文
springMvc对json的支持
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
实体类:
public class User { private String id; //有这个注解的属性,不会转换为json
@JsonIgnore
private String name;
.......
后台发送ajax请求:
<script type="text/javascript">
$(function(){
$("#ajax").click(function(){ $.ajax({
type:"post",
url:"/json/test",
success:function(user){
alert(user.id + "---------" + user.name);
},
dataType:"json"
});
}); }); </script>
controller的写法:
1. 使用注解 @ResponseBody
@RequestMapping("/test1")
public @ResponseBody User test1(){
User user = new User("123456", "张小三");
return user;
}
2. 使用Gson,将对象序列化为json ,
使用Gson:
@RequestMapping("/test")
public void test(HttpServletResponse response){
try { User user = new User("123456", "张晓晓");
//把对象序列化为json类型
String json = new Gson().toJson(user);
//设置响应类型和编码类型
response.setContentType("application/json;charset=UTF-8");
//把json响应回页面
response.getWriter().print(json); } catch (IOException e) {
e.printStackTrace();
}
}
3.使用 jackson:
@RequestMapping("/test4")
public void test4(HttpServletResponse response) throws Exception{ User user = new User("123456", "张晓晓");
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(user); //设置响应类型和编码类型
response.setContentType("application/json;charset=UTF-8");
//把json响应回页面
response.getWriter().print(json); }