Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะละเว้นฟิลด์ null และช่องว่างโดยใช้ไลบรารี Jackson ใน Java ได้อย่างไร


เดอะ แจ็คสัน เป็นไลบรารีสำหรับ Java และมีความสามารถในการผูกข้อมูลที่มีประสิทธิภาพมากและจัดเตรียมกรอบงานเพื่อจัดลำดับออบเจ็กต์ Java ที่กำหนดเองให้กับ JSON และ ดีซีเรียลไลซ์ JSON กลับไปที่วัตถุ Java . ห้องสมุด Jackson มี @JsonInclude คำอธิบายประกอบ ที่ควบคุมการซีเรียลไลซ์เซชันของคลาสโดยรวมหรือแต่ละฟิลด์ตามค่าของคลาสในระหว่างการทำให้เป็นอนุกรม

คำอธิบายประกอบ @JsonInclude มีค่าต่ำกว่าสองค่า

  • รวม.NON_NULL :ระบุว่าเฉพาะพร็อพเพอร์ตี้ที่ไม่มีค่า null เท่านั้นที่จะรวมอยู่ใน JSON
  • รวม.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)
   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;
   }
}

ผลลัพธ์

{
 "id" : 115
}