27.@JsonIgnore,@JsonProperty,@Js

2018-06-12  本文已影响0人  若愚同学
@JsonIgnore

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

@JsonProperty("xxx")

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

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

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

使用map
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;
    }
}
@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();
}
上一篇下一篇

猜你喜欢

热点阅读