在自定义序列化器/反序列化器中,是否可以检索字段的父bean?
例如:
public class Foo {
@JsonSerialize(using = MyCustomSerializer.class)
public Bar bar;
}
public class Bar { }
public class MyCustomSerializer extends JsonSerializer<Bar> {
@Override
public void serialize(
Bar value,
JsonGenerator jgen,
SerializerProvider serializers)
throws IOException, JsonProcessingException
{
// get Foo ??
}
}
在这里,我想要进入Foo
序列化器而不必在内部添加引用Bar
。
如果您使用的是Jackson 2.5,则可以通过访问父对象JsonGenerator.getCurrentValue()
。或者,进一步向上层次结构,通过getOutputContext()
(具有getParent()
和getCurrentValue()
方法)。也可以通过JsonParser
自定义解串器获得。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句