【发布时间】:2015-05-13 14:54:46
【问题描述】:
我想我有一个父类 Parameter 有 2 个子类 ComboParameter 和 IntegerParameter
@JsonSubTypes({
@JsonSubTypes.Type(value = IntegerParameter.class, name = "integerParam"),
@JsonSubTypes.Type(value = ComboParameter.class, name = "comboParam")
})
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = As.WRAPPER_OBJECT)
public abstract class Parameter {
String regEx;
}
@JsonTypeName("integerParam")
public class IntegerParameter extends Parameter {
}
@JsonTypeName("comboParam")
public class ComboParameter extends Parameter {
List<String> values;
}
我有一个有属性参数的类
class A {
@JsonUnwrapped
Parameter parameter;
}
对象A的序列化抛出异常
com.fasterxml.jackson.databind.JsonMappingException: Unwrapped property requires use of type information: can not serialize without disable
SerializationFeature.FAIL_ON_UNWRAPPED_TYPE_IDENTIFIERS
如果我删除注释@JsonUnwrapped,我将得到一个类似的 json
{
parameter:{
integerParam:{
regEx: regExVal
}
}
}
而我需要的是这样的 json:
{
integerParam:{
regEx: regExVal
}
}
注意我正在使用 Jackson 2.4.4
【问题讨论】:
-
你可以找到一个例子here
-
我将问题编辑得更清楚
-
k,有什么问题吗?您希望结果如何?
-
我需要这样的结果:
{ integerParam:{ regEx: regExVal } }
标签: json spring-mvc serialization jackson deserialization