JSON是一种轻量级的数据交换格式,经常用于前后端数据交互。在Java中,我们通常使用Jackson或者Gson等库来序列化和反序列化JSON数据。其中,@json注解是Jackson库中的一种注解,它用于控制JSON序列化和反序列化时的属性配置。
@JsonFormat
该注解用于指定JSON格式化方式。比如我们可以使用它来指定日期类型的格式化方式:
public class User { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; // getter and setter }
这个注解的作用是告诉Jackson,将createTime属性序列化为一个格式为"yyyy-MM-dd HH:mm:ss"的字符串。反过来,当反序列化JSON字符串时,Jackson也能将这个字符串正确地转换为Date类型。
@JsonIgnore
该注解用于指定在JSON序列化和反序列化时忽略某个属性,比如这个属性是敏感数据或者没有必要返回给前端的。
public class User { private Long id; @JsonIgnore private String password; private String name; // getter and setter }
这个注解的作用是告诉Jackson,密码信息在JSON序列化和反序列化时都不需要。当然,这并不意味着我们在Java代码中就无法获取或者修改这个属性。
@JsonProperty
该注解用于指定在JSON序列化和反序列化中的属性名。
public class User { private Long id; @JsonProperty("username") private String name; // getter and setter }
这个注解的作用是告诉Jackson,在JSON序列化和反序列化中,name属性应该使用"username"这个名称。
除了这些注解,Jackson库还有很多其他功能强大的注解,可以根据需求进行选择和使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。