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