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

จะละเว้นคลาสในระหว่างการทำให้เป็นอันดับโดยใช้ Jackson ใน Java ได้อย่างไร?


แจ็คสัน @JsonIgnoreType หมายเหตุ สามารถใช้เพื่อ ละเว้น คลาส ระหว่าง การทำให้เป็นอนุกรม และสามารถทำเครื่องหมายทุก คุณสมบัติ หรือ ช่อง ของคลาสที่จะถูกละเว้นในขณะที่ กำลังซีเรียล และ ดีซีเรียลไลซ์ ออบเจ็กต์ JSON

ไวยากรณ์

@Target(value={ANNOTATION_TYPE,TYPE})@Retention(value=RUNTIME)public @interface JsonIgnoreType

ตัวอย่าง

<ก่อนหน้า>นำเข้า com.fasterxml.jackson.annotation.*;import com.fasterxml.jackson.core.*;import com.fasterxml.jackson.databind.*;import java.io.*; public class JsonIgnoreTypeTest { public static void main(String args[]) พ่น IOException { Employee emp =new Employee(); ตัวทำแผนที่ ObjectMapper =ใหม่ ObjectMapper (); สตริง jsonString =mapper.writerWithDefaultPrettyPrinter ().writeValueAsString (emp); System.out.println(jsonString); }}// Employee classclass Employee { @JsonIgnoreType ที่อยู่คลาสคงที่สาธารณะ { สาธารณะ String firstLine =null; สตริงสาธารณะ SecondLine=null; สตริงสาธารณะ ThirdLine =null; @ แทนที่สตริงสาธารณะ toString () { ส่งคืน "Address{" + "firstLine='" + firstLine+ '\'' + ", secondLine='" + secondLine+ '\'' + ", thirdLine='" + thirdLine + '\ '' + '}'; } } // สิ้นสุดคลาสแอดเดรสสาธารณะ long empId =115; สตริงสาธารณะ empName ="ราชาราเมซ"; ที่อยู่สาธารณะ empAddress =ที่อยู่ใหม่ (); @แทนที่สตริงสาธารณะ toString () { ส่งคืน "พนักงาน{" + "empId=" + empId + ", empName='" + empName + '\'' + ", empAddress=" + empAddress + '}'; }}

ผลลัพธ์

{ "empId" :115, "empName" :"ราชาราเมซ"}