>  기사  >  Java  >  Java에서 Jackson 라이브러리를 사용하여 null 및 void 필드를 무시하는 방법은 무엇입니까?

Java에서 Jackson 라이브러리를 사용하여 null 및 void 필드를 무시하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-08-30 13:17:05784검색

Java에서 Jackson 라이브러리를 사용하여 null 및 void 필드를 무시하는 방법은 무엇입니까?

Jackson은 매우 강력한 데이터 바인딩 기능을 갖추고 사용자 정의 Java 개체를 JSON으로 직렬화하고 JSON을 다시 Java 개체로 역직렬화하는 프레임워크를 제공하는 Java용 라이브러리입니다. Jackson 라이브러리는 값을 기반으로 직렬화하는 동안 전체 클래스 또는 개별 필드의 직렬화를 제어할 수 있는 @JsonInclude 주석을 제공합니다.

@JsonInclude 주석에는 다음 두 값 ​​

  • Include.NON_NULL이 포함되어 있습니다. null이 아닌 값이 있는 속성만 JSON에 포함됨을 나타냅니다.
  • Include.NON_EMPTY: 비어 있지 않은 속성만 JSON에 포함됨을 나타냅니다.

import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.databind.*;
public class IgnoreNullAndEmptyFieldTest {
   public static void main(String[] args) throws JsonProcessingException {
      ObjectMapper mapper = new ObjectMapper();
      mapper.enable(SerializationFeature.INDENT_OUTPUT);
      Employee employee = new Employee(115, null, ""); // passing null and empty fields
      String result = mapper.writeValueAsString(employee);
      System.out.println(result);
   }
}
// Employee class
class Employee {
   private int id;
   @JsonInclude(Include.NON_NULL)
   private String firstName;
   @JsonInclude(Include.NON_EMPTY)<strong>
</strong>   private String lastName;
   public Employee(int id, String firstName, String lastName) {
      super();
      this.id = id;
      this.firstName = firstName;
      this.lastName = lastName;
   }
   public int getId() {
      return id;
   }
   public void setId(int id) {
      this.id = id;
   }
   public String getFirstName() {
      return firstName;
   }
   public void setFirstName(String firstName) {
      this.firstName = firstName;
   }
   public String getLastName() {
   return lastName;
   }
   public void setLastName(String lastName) {
      this.lastName = lastName;
   }
}

출력

<strong>{
 "id" : 115
}</strong>

위 내용은 Java에서 Jackson 라이브러리를 사용하여 null 및 void 필드를 무시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제