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

เราจะเปลี่ยนชื่อฟิลด์ใน JSON โดยใช้ Jackson ใน Java ได้อย่างไร


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

ในตัวอย่างด้านล่าง เราสามารถเปลี่ยนชื่อฟิลด์ ใน JSON โดยใช้ @JsonProperty หมายเหตุประกอบ .

ตัวอย่าง

<ก่อนหน้า> นำเข้า java.io.IOException นำเข้า com.fasterxml.jackson.databind.*; นำเข้า com.fasterxml.jackson.annotation.JsonProperty คลาสสาธารณะ JsonPropertyAnnotationTest { โมฆะสาธารณะหลัก (สตริง [] args) พ่น IOException { ObjectMapper mapper =ใหม่ ObjectMapper (); mapper.enable(SerializationFeature.INDENT_OUTPUT); ผู้ใช้ผู้ใช้ =ผู้ใช้ใหม่("สาย", "อาดิธยา", "9959984000", "0402358700"); ข้อมูลสตริง =mapper.writeValueAsString (ผู้ใช้); System.out.println(ข้อมูล); }} // User classclass ผู้ใช้ { @JsonProperty ("ชื่อจริง") ชื่อสตริงสาธารณะ FirstName; @JsonProperty("นามสกุล") สาธารณะ นามสกุลสตริง; @JsonProperty("mobile-phone") สตริงสาธารณะ mobilePhone; @JsonProperty("home_phone") สาธารณะสายงานโทรศัพท์; ผู้ใช้สาธารณะ (String firstName, String นามสกุล, String mobilePhone, String workPhone) { super(); this.firstName =ชื่อจริง; this.lastName =นามสกุล; this.mobilePhone =โทรศัพท์มือถือ; this.workPhone =โทรศัพท์ที่ทำงาน; }}

ผลลัพธ์

{ "first-name" :"sai", "last-name" :"Adithya", "mobile-phone" :"9959984000", "home_phone" :"0402358700"}