实体类:
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); }