我正在使用@JsonTypeInfo和@JsonSubTypes来映射基于给定属性的解析子类.这是我要解析的示例JSON的一个人为举例.
{ "animals": [
{ "type" : "dog", "name" : "spike" }
,{ "type" : "cat", "name" : "fluffy" }
]}
Run Code Online (Sandbox Code Playgroud)
用这个作为班级
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME
,include = JsonTypeInfo.As.PROPERTY
,property = "type")
@JsonSubTypes({
@Type(value = Cat.class, name = "cat"),
@Type(value = Dog.class, name = "dog") })
abstract class Animal {
public String name;
{
class Dog extends Animal { }
class Cat extends Animal { }
Run Code Online (Sandbox Code Playgroud)
但是,当JSON包含我想要忽略的类型时,会出现问题.例如,如果我有一个新类型"猪",我真的不想反序列化为一个对象:
{ "animals": [
{ "type" : "dog", "name" : "spike" }
,{ "type" : …Run Code Online (Sandbox Code Playgroud) jackson ×1