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;
返回的序列化部分信息
"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" }]
本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。