jackson常用注解和配置

导读:本篇文章讲解 jackson常用注解和配置,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

问题

以jackson实体转json时 ,为NULL不参加序列化为例
添加依赖:

<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>

实体上使用

实体上使用@JsonInclude(JsonInclude.Include.NON_NULL)

  • 1、如果放在属性上,如果该属性为NULL则不参与序列化 ;
  • 2、如果放在上,那对这个类的全部属性起作用 ;

参数意义:

  • JsonInclude.Include.ALWAYS 默认

  • JsonInclude.Include.NON_DEFAULT 属性为默认值不序列化

  • JsonInclude.Include.NON_EMPTY 属性为 空(””) 或者为 NULL 都不序列化

  • JsonInclude.Include.NON_NULL 属性为NULL 不序列化

使用前:
jackson常用注解和配置

使用后:
jackson常用注解和配置

配置文件使用

如果不想每次都这样添加,可以在application.yml配置全局定义, 这种默认都生效

spring:

   jackson:

        default-property-inclusion: non_null

其他常用注解介绍

@JsonIgnore

作用在字段或方法上,用来完全忽略被注解的字段和方法对应的属性。

@JsonProperty

作用在字段或方法上,用来对属性的序列化/反序列化,可以用来避免遗漏属性,同时提供对属性名称重命名

@JsonIgnoreProperties

作用在类上,用来说明有些属性在序列化/反序列化时需要忽略掉,可以将它看做是@JsonIgnore的批量操作。
可以注明是想要忽略的属性列表如@JsonIgnoreProperties({“name”,”age”,”title”}),
也可以注明过滤掉未知的属性如@JsonIgnoreProperties(ignoreUnknown=true)

public class ProductVO implements Serializable {

    private static final long serialVersionUID = 7097863777546530545L;

    @JsonProperty("name")
    private String categoryName;

    @JsonProperty("type")
    private Integer categoryType;

    @JsonProperty("foods")
    private List<ProductInfoVO> productInfoVOList;
}

……
博文参考了 jackson实体转json时 为NULL不参加序列化的汇总

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/16102.html

(0)
小半的头像小半

相关推荐

极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!