当使用 jackson 序列化 Map< ObjectA, ObjectB> 对象时,ObjectA 默认会以 toString 的方式来序列化,而在反序列化时,则会直接失败。这个问题,该如何解决呢?
jackson 提供额外的接口供我们扩展,网上以 2.x 版本为例的解决方案很多,1.x 的比较少,这里主要说 1.x 版本的解决方案。
在 jackson 里提供了 JsonSerializer 和 KeyDeserializer 抽象类,针对需要特殊处理的对象 ObjectA,提供对应的实现类,并调用 objectMapper.registerModule 方法注册进去即可。完整示例代码如下所示:
public class JsonUtil {
private final static ObjectMapper objectMapper = new ObjectMapper();
private final static JsonFactory jsonFac