背景
在日常的开发过程中,对象序列化成JSON字符串的能力是很常用的,但是在实际使用过程中,或多或少的会有一些定制化的诉求,常规一些的序列化支持 fastjson提供了现成的序列化信息,直接指定使用即可 参考类 com.jd.fastjson.serializer.SerializerFeature。
我的实际使用诉求是在序列化的过程中完成数据的脱敏工作,以保障诸如手机号 邮箱之类信息不被泄露,以下推荐两个可定制序列化插件 ,可以完成在序列化过程中针对key和value的定制处理。
针对key的定制处理
com.alibaba.fastjson.serializer.NameFilter 实现此接口 String process(Object object, String name, Object value);此方法的返回值是处理后的json串中的key。
public class JsonNameFilter implements NameFilter {
@Override
public String process(Object object, String name, Object value) {
if (name == null || name.length