0
我想序列化Jackson序列化程序中的子对象。自定义序列化器中的自定义序列化?
所以我有这样的对象:
@JsonSerialize(using = StateSerializer.class)
public class State {
...
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JsonProperty(value = "d", required = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonSerialize(using = StateDefinitionSerializer.class)
private StateDefinition definition;
...
}
,并在我的StateSerializer我想用一个名为StateDefinitionSerializer自己的seriliazer连载我StateDefinition:
public class StateSerializer extends JsonSerializer<State> {
@Override
public void serialize(State state, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
...
jsonGenerator.writeObject(state.getDefinition());
但后来我最终得到的IOException在杰克逊DefaultSerializerProvider内:
} catch (IOException ioe) { // As per [JACKSON-99], pass IOException and subtypes as-is
throw ioe;
}
任何想法如何解决这个问题? :)
所有帮助/意见非常赞赏。
最良好的祝愿,
约亨