Jackson处理Json格式相关注解学习

1.指定字段不返回:@JsonIgnore

2.指定日期格式:@JsonFormat(pattern="yyyy-MM-dd hh:mm:ss",locale="zh",timezone="GMT+8")

3.空字段不返回:@JsonInclude(Include.NON_NULL)

4.指定别名:@JsonProperty

测试:

SimpleController:

 @GetMapping("/testJson")
    Object testJson(){
        return new User(11,"13563986965",new Date(),"10010");
 }

Test1:

给用户的密码字段加上@JsonIgnore

  @JsonIgnore
  private String pwd;

测试返回结果:发现已经自动忽略掉了密码字段

{
    "age": 11,
    "phone": "13563986965",
    "birthday": "2020-05-25T03:00:16.558+00:00"
}

Test2:

给用户的生日字段加上:@JsonFormat

 @JsonFormat(pattern="yyyy-MM-dd",locale="zh",timezone="GMT+8")
 private Date birthday;

测试返回结果:发现用户的生日数据已经被格式化

{
    "age": 11,
    "phone": "13563986965",
    "birthday": "2020-05-25"
}

Test3:

给用户的用户名字段加上@JsonInclude(Include.NON_NULL),并且将用户名属性值置为Null

@GetMapping("/testJson")
Object testJson(){
   return new User(null,11,"13563986965",new Date(),"10010");
}
@JsonInclude(JsonInclude.Include.NON_NULL)
private String userName;

测试返回结果:发现用户的用户名字段不再显示

加注解@JsonInclude(Include.NON_NULL)前返回结果:

{
    "userName": "wjl",
    "age": 11,
    "phone": "13563986965",
    "birthday": "2020-05-25"
}

加注解@JsonInclude(Include.NON_NULL)前返回结果:

{
    "age": 11,
    "phone": "13563986965",
    "birthday": "2020-05-25"
}

Test4:

给用户的phone属性加上@JsonProperty注解:

@JsonProperty("电话号码")
private String phone;

 

测试结果:发现用户的phone的属性修改为“电话号码”:

{
    "userName": "wjl",
    "age": 11,
    "birthday": "2020-05-25",
    "电话号码": "13563986965"
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值