Chú thích Jackson @JsonProperty được sử dụng trên một thuộc tính hoặc phương thức trong quá trình tuần tự hóa hoặc deserialization trong tổng số JSON . Nó có một ‘ tên tùy chọn ' tham số điều này hữu ích trong trường hợp tên thuộc tính khác với ‘ key ’ tên trong JSON . Theo mặc định, nếu tên khóa khớp với tên thuộc tính, giá trị sẽ được ánh xạ tới giá trị thuộc tính.
Trong ví dụ dưới đây, chúng tôi có thể thay đổi tên trường trong JSON bằng cách sử dụng chú thích @JsonProperty .
Ví dụ
import java.io.IOException; import com.fasterxml.jackson.databind.*; import com.fasterxml.jackson.annotation.JsonProperty; public class JsonPropertyAnnotationTest { public static void main(String[] args) throws IOException { ObjectMapper mapper = new ObjectMapper(); mapper.enable(SerializationFeature.INDENT_OUTPUT); User user = new User("Sai", "Adithya", "9959984000", "0402358700"); String data = mapper.writeValueAsString(user); System.out.println(data); } } // User class class User { @JsonProperty("first-name") public String firstName; @JsonProperty("last-name") public String lastName; @JsonProperty("mobile-phone") public String mobilePhone; @JsonProperty("home_phone") public String workPhone; public User(String firstName, String lastName, String mobilePhone, String workPhone) { super(); this.firstName = firstName; this.lastName = lastName; this.mobilePhone = mobilePhone; this.workPhone = workPhone; } }
Đầu ra
{ "first-name" : "Sai", "last-name" : "Adithya", "mobile-phone" : "9959984000", "home_phone" : "0402358700" }