JavaWeb:在服务端返回的JSON中的null字段进行过滤

JavaWeb:对服务端返回JSON中的null字段进行过滤

当在Controller中使用@ResponseBody转JSON,当实体中属性字段为NULL或者为空时,在输出的JSON中也会以NULL或空的形式返回。那么如何进行过滤呢,步骤如下:

1.引入jackson的Maven依赖

<dependency>
	<groupId>com.fasterxml.jackson.core</groupId>
	<artifactId>jackson-databind</artifactId>
	<version>2.9.8</version>
</dependency>

注意: 《spring-boot-starter-web》中包含《com.fasterxml.jackson.core.jackson-databind》。

2. 对实体类中的所有属性全部进行过滤

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 
 @JsonInclude(Include.NON_NULL)
public class InfoEntity implements Serializable {
 
    private static final long serialVersionUID = 1L;

    ......

    private String userName;
    private String realName;
	......
	
}

3. 对实体类中的部分属性全部进行过滤

import java.io.Serializable;
 
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
 
public class InfoEntity implements Serializable {
 
    private static final long serialVersionUID = 1L;
 
    ......
 
    @JsonInclude(Include.NON_NULL)
    public String userName;
 
    public String realName;
 
    ......
 
}

Include中的属性值如下
     A. 默认
          Include.Include.ALWAYS
     B. 属性为默认值不序列化
          Include.NON_DEFAULT
     C. 属性为 空(“”) 或者为 NULL 都不序列化
          Include.NON_EMPTY
     D. 属性为NULL 不序列化
          Include.NON_NULL

©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页