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

เมื่อใดควรใช้คำอธิบายประกอบ @JsonValue โดยใช้ Jackson ใน Java


คำอธิบายประกอบ @JsonValue มีประโยชน์ในระดับวิธีการ เราสามารถใช้คำอธิบายประกอบนี้เพื่อสร้างสตริง JSON จากวัตถุ Java หากเราต้องการพิมพ์วัตถุที่ต่อเนื่องกัน ให้แทนที่ toString() กระบวนการ. แต่ใช้หมายเหตุประกอบ @JsonValue เราสามารถกำหนดวิธีที่วัตถุ java ถูกทำให้เป็นอนุกรมได้

ไวยากรณ์

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

ตัวอย่าง

<ก่อนหน้า>นำเข้า com.fasterxml.jackson.annotation.JsonProperty;import com.fasterxml.jackson.annotation.JsonValue;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ObjectMapper.นำเข้า ja io.IOException; JsonValueAnnotationTest คลาสสาธารณะ { โมฆะคงที่สาธารณะหลัก (สตริง args []) พ่นข้อยกเว้น { ObjectMapper mapper =ใหม่ ObjectMapper(); สตริง jsonString =ผู้ทำแผนที่writeValueAsString (นักศึกษาใหม่()); System.out.println(jsonString); }}// ชั้นเรียนนักเรียน ชั้นเรียน นักเรียน { @JsonProperty รหัสนักศึกษา int ส่วนตัว =115; @JsonProperty นักเรียนสตริงส่วนตัว ="สาย อดิธยา"; @JsonValue สตริงสาธารณะ toJson () { return this.studentName + "," + this.studentId + "," + this.toString(); } @Override สตริงสาธารณะ toString () { ส่งคืน "Student [" + "studentId =" + studentId + ", studentName =" + studentName + ']'; }}

ผลลัพธ์

"Sai Adithya,115,Student[studentId =115, studentName =Sai Adithya]"