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);
        
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM