Java 使jackson在尝试序列化类时失败

Java 使jackson在尝试序列化类时失败,java,jackson,Java,Jackson,有没有简单的方法让Jackson无法序列化特定的类 基本上,我想确保包含一些敏感数据的类不会泄漏到任何地方,因为我们同时登录文本和json,我担心它最终可能会作为某个更大对象的一部分作为json登录。(当然我可以将它序列化为****字符串,但我认为错误更清楚地表明它甚至不应该在那里使用) 我现在唯一的想法是自定义Serizalizer,它只是抛出了一个异常,但我想知道是否有更简单的方法告诉Jackson远离那个类 public class YourBlackListingSerializer e

有没有简单的方法让Jackson无法序列化特定的类

基本上,我想确保包含一些敏感数据的类不会泄漏到任何地方,因为我们同时登录文本和json,我担心它最终可能会作为某个更大对象的一部分作为json登录。(当然我可以将它序列化为
****
字符串,但我认为错误更清楚地表明它甚至不应该在那里使用)

我现在唯一的想法是自定义Serizalizer,它只是抛出了一个异常,但我想知道是否有更简单的方法告诉Jackson远离那个类

public class YourBlackListingSerializer extends StdSerializer<YourPojo> {

    public YourBlackListingSerializer() {
        this(null);
    }

    public YourBlackListingSerializer(Class<YourPojo> t) {
        super(t);
    }

    @Override
    public void serialize(
      Item value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
        throw new CustomException("This class can't be serialized");
    }
}
但是,如果只想忽略字段,则

@JsonIgnore
private String password;

@JsonIgnore
public String getPassword() {
    return password;
}

@JsonProperty
public void setPassword(final String password) {
    this.password = password;
} 

我认为定制序列化程序是个好主意。如果您认为自定义序列化程序适合您,只需确保不为整个类实现自定义序列化程序,而是为特定字段(例如密码)实现自定义序列化程序。请接受答案,直到更好的答案出现:D
@JsonIgnore
private String password;

@JsonIgnore
public String getPassword() {
    return password;
}

@JsonProperty
public void setPassword(final String password) {
    this.password = password;
}