27.@JsonIgnore,@JsonProperty,@JsonFormat

@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();
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容