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

ความสำคัญของคำอธิบายประกอบ @JsonFilter ใน Java?


The @JsonFilter คำอธิบายประกอบใช้เพื่อกำหนดตัวกรองที่กำหนดเอง เพื่อทำให้วัตถุ Java เป็นอนุกรม เราจำเป็นต้องใช้ FilterProvider คลาสเพื่อกำหนดตัวกรองและรับอินสแตนซ์ตัวกรองจริง ตอนนี้ตัวกรองกำหนดค่าโดยกำหนด FilterProvider ถึง ObjectMapper ชั้นเรียน

ไวยากรณ์

@Target(value={ANNOTATION_TYPE,TYPE,METHOD,FIELD,PARAMETER})@Retention(value=RUNTIME)public @interface JsonFilter

ในตัวอย่างด้านล่าง customFilter สามารถประกาศเป็นอาร์กิวเมนต์ @JsonFilter คำอธิบายประกอบจะแยกเฉพาะชื่อและกรองคุณสมบัติอื่นๆ ของถั่วออก

ตัวอย่าง

<ก่อนหน้า>นำเข้า com.fasterxml.jackson.annotation.JsonFilter;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ser.FilterProvider;import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter นำเข้า com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider คลาสสาธารณะ JsonFilterAnnotationTest { โมฆะสาธารณะหลัก (สตริง args []) โยน { =JsonProcessing ข้อยกเว้นของการทำแผนที่ ObjectMapper(); FilterProvider filterProvider =SimpleFilterProvider ใหม่ ().addFilter ("customFilter", SimpleBeanPropertyFilter.filterOutAllExcept ("empName")); สตริง jsonString =mapper.writer (filterProvider).writeValueAsString (ใหม่ FilterBean ()); System.out.println(jsonString); }}@JsonFilter("customFilter") คลาส FilterBean { empId int สาธารณะ =110; สตริงสาธารณะ empName ="ราชาราเมซ"; เพศสตริงสาธารณะ ="ชาย";}

ผลลัพธ์

{"empName":"ราชา ราเมซ"}