美文网首页
27.@JsonIgnore,@JsonProperty,@Js

27.@JsonIgnore,@JsonProperty,@Js

作者: 若愚同学 | 来源:发表于2018-06-12 22:19 被阅读0次
    @JsonIgnore

    加入该注解,在转换成json的时候会忽略该属性 在jackson中有效

    @JsonProperty("xxx")

    加入该注解,在转换成json的时候,json中该字段的名字会改成注解中的名字,jackson有效

    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

    如果不加该注解,那么转换成json的时候会直接是时间戳1515160387634,加了之后会转换成正常的时间格式.只对jackson有效

    使用map
    • User类:
    public class User {
        private Long id;
        @JsonProperty("uname")//加入该注解,在转换成json的时候,json中该字段的名字会改成注解中的名字,jackson有效
        private String name;
        @JsonIgnore //加入该注解,在转换成json的时候会忽略该属性 在jackson中有效
        private Integer age;
        
        
        //如果不加该注解,那么转换成json的时候会直接是时间戳1515160387634,加了之后会转换成正常的时间格式.只对jackson有效
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
        private Date birthday = new Date();
        
        //上述注解会将代码写死,一般实际开发中,会提供一个同Json方法,返回一个map,然后控制器中也是返回一个map
        public Map<String, Object> toJson(){
            Map<String, Object> map = new HashMap<>();
            map.put("id", id);
            map.put("name", name);
            map.put("age", age);
            
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            map.put("birthday", sdf.format(birthday));
            return map;
        }
    }
    
    • Controller类
    @RequestMapping(value="jsonTestTwo",produces="application/json;charset=utf-8")
    @ResponseBody
    public Map<String, Object> jsonTestTwo() throws Exception {
        User user = new User(2L,"小海",18,new Date());
        return user.toJson();
    }
    

    相关文章

      网友评论

          本文标题:27.@JsonIgnore,@JsonProperty,@Js

          本文链接:https://www.haomeiwen.com/subject/bkfdeftx.html