jackson序列化首字母大写(jackson自定义序列化 字段)

1.目前面对一个问题,在JSON序列化中,不同场景中需要屏蔽不同的敏感字段2.如果用注解的话,这里有个问题就是所有的序列化内容都是一个规则.3.,这里用手工进行处理了。
import java.util.HashSet;import java.util.Set;import com.fasterxml.jackson.annotation.JsonFilter;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;import com.pingpang.websocketchat.ChartUser;public final class JsonFilterUtil {    public static void addFilterForMapper(ObjectMapper mapper) {    	    	Set<String> sets =new HashSet<String>();    	sets.add("userPassword");        SimpleBeanPropertyFilter fieldFilter = SimpleBeanPropertyFilter.serializeAllExcept(sets);        SimpleFilterProvider filterProvider = new SimpleFilterProvider().addFilter("fieldFilter", fieldFilter);        mapper.setFilterProvider(filterProvider).addMixIn(ChartUser.class, FieldFilterMixIn.class);    }    /**     * 定义一个类或接口     */    @JsonFilter("fieldFilter")    interface FieldFilterMixIn{    }}
//用户密码 这里注释了注解	//@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)	private String userPassword;

返回的序列化部分信息

jackson序列化首字母大写(jackson自定义序列化 字段)

"chatSet": [{		"id": "57985DC3949C4A3DADE4C5BDB636745B",		"userCode": "fhx",		"userName": "傅红雪",		"userEmail": null,		"userPhone": null,		"userImagePath": null,		"userSex": null,		"userStatus": "1",		"userCreateDate": "2020-05-01 13:05:52",		"ip": "0:0:0:0:0:0:0:1"	}]
本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。