【发布时间】:2013-06-24 19:24:39
【问题描述】:
例子
Java:
@JsonTypeInfo(
use = JsonTypeInfo.Id.MINIMAL_CLASS,
include = JsonTypeInfo.As.PROPERTY,
property = "@type")
public class Pet{
String name;
}
public class Dog extends Pet{}
public class Cat extends Pet{}
public class PetHouse {
List<Pet> pets;
}
public class BarkingData {
int decibels;
Dog dog;
}
JSON 序列化
petHouse = {
pets :
[
{'@type': 'Dog', 'name':'Droopy'},
{'@type': 'Cat', 'name':'Scratchy'},
{'@type': 'Dog', 'name':'Snoopy'}
]
}
barkingData = {
decibels:15,
dog:{'@type':'Dog', 'name':'Droopy'}
}
问题 BarkingData 类有一个 Dog 类型的字段(猫不会吠叫)。对于可以从声明字段“提示”该类型的实例,是否可以告诉杰克逊不要包含 typeInfo ?
所以吠叫数据的输出看起来像:
barkingData = {
decibels:15,
dog:{'name':'Droopy'}
}
【问题讨论】:
标签: jackson