在我的项目中,我有这样的东西
enum Species {
DOG, CAT
}
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "type")
@JsonSubTypes({
@Type(value = Cat.class, name = "cat"),
@Type(value = Dog.class, name = "dog") })
class Animal {
Species species;
String name;
}
class Cat extends Animal {
Cat() {
species = Species.CAT;
}
...
}
class Dog extends Animal {
Dog() {
species = Species.DOG;
}
...
}
class Zoo {
Collection<Animal> animals;
}
我需要将动物园序列化/反序列化为 json。我遵循了本指南http://programmerbruce.blogspot.com/2011/05/deserialize-json-with-jackson-into.html 并且效果很好。但它为我并不真正需要的 json 对象添加了冗余属性“类型”。有什么方法可以仅使用我的 pojo 的种类属性来正确序列化/反序列化集合吗?