Tôi có các loại đa hình và deserializing từ JSON đến POJO hoạt động. Tôi đã theo tài liệu here, trên thực tế. Khi tuần tự hóa các POJO thành JSON, tôi nhận được một thuộc tính không mong muốn, cụ thể là tên kiểu logic.Làm cách nào để ngăn chặn Jackson tuần tự hóa thuộc tính chú thích của một loại đa hình?
import static org.codehaus.jackson.annotate.JsonTypeInfo.*;
@JsonTypeInfo(use=Id.NAME, include=As.PROPERTY, property="type")
@JsonSubTypes({
@JsonSubTypes.Type(value=Dog.class, name="dog"),
@JsonSubTypes.Type(value=Cat.class, name="cat")
})
public class Animal { ... }
public class Dog extends Animal { ... }
public class Cat extends Animal { ... }
Khi Jackson nối tiếp thành JSON, nó cung cấp thông tin loại mà tôi không muốn hiển thị.
{"type":"dog", ... }
{"type":"cat", ... }
Tôi có thể ngăn chặn điều này bằng cách nào đó không? Tôi chỉ muốn bỏ qua type
khi deserializing.
Bạn nói, "Tôi chỉ muốn bỏ qua loại khi deserializing." Thay vào đó, bạn có nghĩa là "Tôi chỉ muốn bỏ qua loại khi tuần tự hóa."? –
Tôi ấn tượng vì bạn đã tìm ra được điều này nhiều từ tài liệu. Không có một ví dụ sử dụng duy nhất của '@ JsonSubTypes' trên trang wiki đó. –