小编And*_*Liu的帖子

是否有可能在杰克逊中对地图本身进行de/serialize多态?

我搜索了很多,只找到有关地图内容的多态反序列化的问题.是否有可能对地图本身进行多态反序列化?

例如,我有一个Book类包含一个Map作为成员变量.

public class Book {
    @JsonProperty
    private Map<String, Object> reviews;

    @JsonCreator
    public Book(Map<String, Object> map) {
        this.reviews = map;
    }
}
Run Code Online (Sandbox Code Playgroud)

另一个类有一个Book类列表.

public class Shelf {

    @JsonProperty
    private List<Book> books = new LinkedList<>();

    public void setBooks(List<Book> books) {
        this.books = books;
    }

    public List<Book> getBooks() {
       return this.books;
    }
}
Run Code Online (Sandbox Code Playgroud)

还有一个测试课.一本书的评论地图是Hashtable,另一本书的评论地图是HashMap.

public class Test {

    private Shelf shelf;

    @BeforeClass
    public void init() {
        Map<String, Object> review1 = new Hashtable<>(); // Hashtable here
        review1.put("test1", "review1");
        Map<String, Object> review2 = new …
Run Code Online (Sandbox Code Playgroud)

java polymorphism json dictionary jackson

5
推荐指数
1
解决办法
708
查看次数

标签 统计

dictionary ×1

jackson ×1

java ×1

json ×1

polymorphism ×1