在我的项目中我有类似的东西
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对象添加了多余的属性“type”,我真的不需要它。有没有办法只使用我的pojo的物种属性来正确地序列化/反序列化集合?
答案 0 :(得分:0)
杰克逊的2.2.0版应该已经解决了这个问题。
您可以在此处查看问题的详细信息及其修复方法: https://github.com/FasterXML/jackson-databind/issues/23