天天看点

Jackson序列化实例

  

Jackson序列化实例

   BeanSerializerFactory中有如下代码,

Jackson序列化实例

   

Jackson序列化实例

   

Jackson序列化实例

  1. bo中自定义@ReferSerialTransfer注解

Jackson序列化实例

  2. 自定义注解 ReferSerialTransfer.java

Jackson序列化实例

  3. 自定义 json serialize实现

Jackson序列化实例

  4. springmvc 配置文件中 converter的配置

  1.bo中serializer注解(JsonSerializer)

Jackson序列化实例

  2. springmvc配置文件中的converter配置

  3. MappingJackson2HttpMessageConverterFactory.java

Jackson序列化实例

  4. 自定义BeanSerializerModifier.java

Jackson序列化实例

  是这样的一个场景, 人员person和用户user进行1对1关联时,一般是 person中维护着user的id,或user中维护着person的id。前端展示的时候需要展示人员以及关联用户的(code 和 name),最简单暴力的做法就是根据person id 拿到person对象,再根据person中的user id,拿到user对象,最后重新组装一下数据。

  试想一下这个思路,项目启动时,把user的数据id <=> {id, code, name}同步到缓存中,在序列化 person 对象中 user id时做一点儿手脚,根据 user id 去缓存(如果缓存没有,则查询数据库)中拿到 对应的{id, code, name},并序列化该结果。从而达到了 id 转 {id, code, name}的效果。

  写了一个测试工程,目录结构如下。

Jackson序列化实例