我有一个POJO,我试图使用杰克逊服务/ deser。 但是,我希望该类提供自己的ser / deser逻辑。所以我可以这样写:
@JsonDeserialize(using = MyClass.class)
@JsonSerialize(using = MyClass.class)
class MyClass ... {
private String x;
private String y;
// getters and setters
void serialize(MyClass object, JsonGenerator jsonGenerator,
SerializerProvider serializerProvider) throws IOException {
....
}
MyClass deserialize(JsonParser jsonParser,
DeserializationContext deserializationContext) throws IOException {
....
}
}
我不想写两个类来为我定义的每个POJO提供ser / deser逻辑。
初步研究:
答案 0 :(得分:1)
没有;你不能创建一个实现两个抽象类的类。因此,如果直接实现这些类,则需要两个单独的类。
至于代理:有什么好处?写入的功能数量是相同的;如果存在共性,则将它们抽象为实用类。那你解决的实际问题是什么? (假设这不仅仅是个人偏好的问题)