Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để bỏ qua các trường rỗng và trống bằng cách sử dụng thư viện Jackson trong Java?


Jackson là một thư viện dành cho Java và nó có khả năng liên kết dữ liệu rất mạnh mẽ và cung cấp một khuôn khổ để tuần tự hóa các đối tượng java tùy chỉnh thành JSON giải mã JSON trở lại đối tượng Java . Thư viện Jackson cung cấp chú thích @JsonInclude kiểm soát việc tuần tự hóa toàn bộ một lớp hoặc các trường riêng lẻ của nó dựa trên các giá trị của chúng trong quá trình tuần tự hóa.

Chú thích @JsonInclude chứa dưới hai giá trị

  • Bao gồm.NON_NULL :Cho biết rằng chỉ các thuộc tính không có giá trị null mới được đưa vào JSON.
  • Bao gồm.NON_EMPTY :Cho biết rằng chỉ các thuộc tính không trống mới được đưa vào JSON

Ví dụ

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)
   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;
   }
}

Đầu ra

{
 "id" : 115
}