在数据表中的某个字段里面存了json数据,但是数据库和Java类映射只能映射成String类型的属性,如果直接返回就会在json外面多加了一对引号导致取不出来正确的数据(只能取出来完整的json)。
怎么办??
- 交给前端让这帮孙子慢慢去搞把,老子不管了。
- 指定该属性的序列化方式,Jackson里面用@JsonSerialize和@JsonDeserialize指定序列化和反序列化的方式,将该属性的处理方式特殊化其它的都正常,这里就要注意不能再使用逆向工程生成的pojo类了。
- 如果还使用逆向工程的pojo类,那需要将查出来的list遍历拷贝到自定义的list中,才能在不改变逆向工程pojo类的情况下加入注解。
所以还是要抛弃逆向工程……
步骤:
- PoJo、mapper文件和mapper配置都换成自己的。
- 在需要的属性上面加注解。然后在自定义的序列化方法中自己写(而且它那个JsonGenerator类里面的方法都是一个字符一个字符拼的,要改点简单的东西还比较方便,但是我这种需求好像没JB卵用啊,和我直接在代码里处理差不了多少,白白耽误我一天时间,TND)