首页 > 文章列表 > 在Java中,Jackson @JsonInclude注解的重要性是什么?

在Java中,Jackson @JsonInclude注解的重要性是什么?

260 2023-08-20

The Jackson @JsonInclude注解可以在特定条件下用于排除类的属性或字段,并可以使用JsonInclude.Include枚举进行定义。 JsonInclude.Include枚举包含一些常量,如"ALWAYS","NON_DEFAULT","NON_EMPTY"和"NON_NULL",用于确定是否排除属性(字段)。

语法

public static enum JsonInclude.Include extends Enum<JSonInclude.Include>

Example

import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.*;
import java.io.*;
public class JsonIncludeTest {
   public static void main(String args[]) throws IOException {
      ObjectMapper objectMapper = new ObjectMapper();
      Employee emp = new Employee();
      String jsonString = objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(emp);
      System.out.println(jsonString);
   }
}
// Employee class
@JsonInclude(JsonInclude.Include.NON_EMPTY)
class Employee {
   public int empId = 115;
   public String empName = null;
   @Override
   public String toString() {
      return "Employee{" +
             "empId=" + empId +
             ", empName='" + empName + ''' +
             '}';
   }
}

输出

{
   "empId" : 115
}