小编geo*_*rey的帖子

忽略杰克逊多态类型映射

我正在使用@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

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

标签 统计

jackson ×1