一、@JsonIgnore:

1、作用:
在json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。
一般标记在属性或者方法上,在返回的json数据就不包含该属性

2、场景模拟:
将一个User序列化成Json数据并返回给前台,当我们在User的password和email属性上添加@JsonIgnore注解时,即使后台给这两个属性赋值了,返回前台的Json也不包含它们。

public class User {private String name;private String age;private String sex;@JsonIgnore           //添加JsonIgnore注解,返回时被忽略private String password;@JsonIgnore          //添加JsonIgnore注解,返回时被忽略private String email;public User() {}}

3、@JsonIgnore注解失效
如果注解失效,可能是因为你使用的是fastJson,尝试使用对应的注解来忽略字段,注解为:@JSONField(serialize = false),使用方法一样。

二、@JsonFormat:

作用:

  • Date和String的相互转化
  • 时差调整

使用场景:

  • 一般后台传值给前台时
  • 在我们中国来讲和我们的北京时间,会相差8个小时,因为我们是东八区(北京时间)。所以我们在格式化的时候要指定时区(timezone )

Date和String的自动转化

 import com.fasterxml.jackson.annotation.JsonFormat;/*** 后台返给前台时, 日期自动格式化*/@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date birth;

指定时区:

/**更新时间  用户可以点击更新,保存最新更新的时间。**/
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date updateTime;

三、@JsonInclude

作用:
在将 java pojo 对象序列化成为 json 字符串时,使用 @JsonInclude 注解可以控制在哪些情况下才将被注解的属性转换成 json,例如只有属性不为 null 时。

@JsonInclude(JsonInclude.Include.NON_NULL)         //类前面使用,如果为空则不反悔该属性json
public class SellerInfoEntity {private String id;private String username;@JsonInclude(JsonInclude.Include.NON_EMPTY)   //属性前使用,如果为空则不返回该属性jsonprivate String password;private String openid;private Timestamp createTime;private Timestamp updateTime;public SellerInfoEntity() {}public SellerInfoEntity(String id, String username, String password, String openid) {this.id = id;this.username = username;this.password = password;this.openid = openid;}
}

@JsonInclude、@JsonIgnore和@JsonFormat注解相关推荐

  1. Hibernate JPA中@Transient、@JsonIgnoreProperties、@JsonIgnore、@JsonFormat、@JsonSerialize等注解解释...

    转自Hibernate JPA中@Transient.@JsonIgnoreProperties.@JsonIgnore.@JsonFormat.@JsonSerialize等注解解释 1.@Tran ...

  2. @JsonIgnoreProperties、@JsonIgnore、@JsonFormat

    问题由来: 今天看大神网上发布的一个开源项目,看到使用了这个注解,不甚了解百度了一下. springboot项目中定义了很多类,我们在rest返回中直接返回或者在返回对象中使用这些类,spring已经 ...

  3. localdatetime转化为date_为啥你用@JsonFormat注解时,LocalDateTime会反序列化失败?

    写在前面 最近,有个小伙伴问我:我在SpringBoot项目中,使用@JsonFormat注解标注LocalDateTime类型的字段时,LocalDateTime反序列化失败,这个我该怎么处理呢?别 ...

  4. 为啥你用@JsonFormat注解反序列化LocalDateTime总失败?

    点击上方蓝色"冰河技术",关注并选择"设为星标" 持之以恒,贵在坚持,每天进步一点点! 作者个人研发的在高并发场景下,提供的简单.稳定.可扩展的延迟消息队列框架 ...

  5. @RequestBody配合@JsonFormat注解实现字符串自动转换成Date

    2018年08月28日 16:41:15 混合动力火锅 阅读数:440 在controller中使用@RequestBody可以自动将字符串转换成int或者将int转换成字符串,但是Date类型则不行 ...

  6. Date入参和出参格式_@DateTimeFormat 和 @JsonFormat 注解

    1. 准备 定义一个pojo,它有一个 java.util.Date 类型的属性 date. import java.util.Date;           public class DateVo ...

  7. @DateTimeFormat@JsonFormat注解详解

    场景 @JsonFormat注解是属于Jackson的一个时间格式化注解,用于格式化时间. 可以在入参出参的时候就将时间格式化好. @DateTimeFormat注解是spring的,它可以帮助我们把 ...

  8. java对象转json格式化_Java对象转json JsonFormat注解

    写在前面,首先,我用的java转json序列化的工具是java开源的jackson. 今天在做后端接口的时候,发现获取的json对象中少了几个属性,因为其他的接口都能得到正确的json,所以很快就找到 ...

  9. @JsonFormat注解未设置时区导致的返回时间错误

    @JsonFormat未设置时区而导致返回错误时间 有时候我们使用 @JsonFormat注解时会忽略设置时区,这样有可能就会导致我们转换的时间与我们从数据库查出的真确时间有差别 这样有可能会导致时间 ...

最新文章

  1. Composer scripts脚本:事件列表与脚本触发
  2. 100个vc小项目开发:二、一步一点设计音乐播放器 [I]
  3. codeforce 589B枚举
  4. 关于谷歌云,你应该知道的一切! | 技术头条
  5. android.graphics包中的一些类的使用
  6. Git异常:fatal: could not create work tree dir 'XXX': No such file or directory
  7. div背景 css网格背景_如何为背景图像网格创建运动悬停效果
  8. Linux下常用文件系统
  9. JAVA小游戏之打字母(简单版和升级版)
  10. STUN协议简要介绍
  11. echarts地图上的标签为图片_百度地图标记点中添加Echarts图表
  12. 大数据三个特点的理解
  13. Pads Logic 、AD转Orcad
  14. 微软远程桌面(安卓版)连接出现0x204错误的解决办法
  15. ifstream fin
  16. JAVA之简单的随机点名
  17. 雅思词汇list1-list12总结
  18. ASL值的通用计算方法
  19. cc9.3 indesign_InDesign CC实战从入门到精通(全彩版)
  20. 编解码持续升级,「硬」实力铸就视频云最优解

热门文章

  1. java对redis的基本操作(初识)
  2. 教你用SingalR实现后台开发程序运行时时检测
  3. Eclipse怎样连接并打开oracle等数据库?
  4. 通过升级.NET框架提升实体框架性能
  5. 转载:给自己一个警示
  6. 【Java 正则表达式】单字符匹配、预定字符、量词、Matcher(贪婪、勉强、独占模式)、捕获组、边界匹配符、String类与正则表达式
  7. [转]2020年4月github上最热门项目-java
  8. 从入门到进阶,这10本高分书籍,优秀数据分析师越早读完越好
  9. 这N张模板,做出了秒杀echarts和python的可视化大屏,老板很满意
  10. python常用模块用法_python笔记之常用模块用法分析