實體類:
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); }