0

我有以下json:

[
    {
        "dog":{
            "noise":"bark",
            "dogfood":"something"
        }
    },
    {
        "cat":{
            "noise":"meow",
            "catfood":"iams"
        }
    }
]

以及以下型号:

public abstract class Animal {
}

public class Dog {
    private String noise;
    private String dogFood;
}

public class Cat {
    private String noise;
    private String catFood;
}

如何根据每个元素的根名称是狗还是猫,通过继承反序列化 json 数组中的每个项目?

4

1 回答 1

1

在杰克逊的 Github 页面上,有人要求解决与您面临的相同问题的解决方案,请参见此处:https ://github.com/FasterXML/jackson-databind/issues/1627

暂时的解决方法是自定义反序列化器,其中类中的字段应该包含它是什么类型的类,以便可以正确反序列化。请参阅此处了解解决方法:https ://stackoverflow.com/a/50013090/6777695

于 2019-07-22T19:52:51.360 回答