JavaRush /Blog Java /Random-VI /Tuần tự hóa ở Jackson. Làm cách nào tôi có thể chỉ định r...
ColdDeath
Mức độ
Москва

Tuần tự hóa ở Jackson. Làm cách nào tôi có thể chỉ định rõ ràng lớp con nào sẽ sử dụng?

Xuất bản trong nhóm
Đọc các bài giảng ở cấp độ 33, tôi không hiểu làm thế nào khi tuần tự hóa thành JSON bằng Jackson, chỉ định một trường, loại bổ sung, cho các lớp có cùng trường, cách thực hiện điều này trong bài giảng 4. Tôi chỉ ra rằng tôi muốn vào trường loại, nhưng không có gì xảy ra Tuần tự hóa ở Jackson.  Làm cách nào tôi có thể chỉ định rõ ràng lớp con nào sẽ sử dụng?  - 1 . Xin vui lòng cho tôi biết tôi đang làm gì sai? public class Giải pháp { public static void main(String[] args) ném IOException { Cat cat = new Cat(); cat.name = "Murka"; cat.age = 5; cat.weight = 3; Chó chó = Chó mới(); dog.name = "Kẻ giết người"; dog.age = 8; dog.owner = "Bill Jefferson"; Lập danh sách thú cưng = new ArrayList(); thú cưng.add (mèo); thú cưng.add(con chó); Trình soạn thảo StringWriter = new StringWriter(); ConvertToJSON(nhà văn, thú cưng); System.out.println(writer.toString()); //[{"name":Murka","age":5,"weight":3},{"name":Killer","age":8,"owner"Bill Jefferson"}] } public static void ConvertToJSON(StringWriter writer, Object object) ném IOException { ObjectMapper mapper = new ObjectMapper(); mapper.writeValue(writer, object); } @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type") @JsonSubTypes({ @JsonSubTypes.Type(value = Cat.class, name = "cat"), @JsonSubTypes.Type(value = Dog.class , name = "dog") }) public static class Cat kéo dài Pet { public int age; trọng lượng int công cộng; } lớp tĩnh công khai Dog mở rộng Pet { public int age; chủ sở hữu chuỗi công khai; } public static class Pet { public String name; } }
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION