java如何防止Jackson在第三方类中序列化字段
这里有一个关于Jackson 2.3的问题,我不可能更改为其他框架
我想使用Jackson 2.3将对象序列化为json。 一些对象来自实现特定(外部)接口的第三方库。 我想要实现的是防止序列化这些对象中的某些字段。 我没有修改这个类的权限,所以@JsonIgnore不会删除它。 这里有一个例子
public interface ThirdParty{
public char[] getPassword();
public String getUser();
public Department getDepartment();
}
我是杰克逊的新手,但有一种感觉,像这样做应该相当简单
ObjectMapper mapper=new ObjectMapper();
SimpleModule testModule = new SimpleModule("DemoModule",VersionUtil.versionFor(this.getClass()));
testModule.addSerializer(ThirdParty.class, new Some_Serializer_That_Can_Ignore_Password()));
mapper.registerModule(testModule);
(我不认为有所谓的某个序列化程序可以忽略密码,我想要的是不序列化字段的东西) 我不想写太多代码来让它工作,我已经看到了一些关于旧版本Jackson的详细例子,但是对于Jackson 2.3没有
谢谢
# 1 楼答案
这并不是对最初问题的回答,但我找到了一种排除特定类型的方法,这段代码确保任何
StackTraceElement
都不会序列化