jackson - Dropwizard隐藏json字段

标签 jackson dropwizard

在 Dropwizard 中隐藏模型上的字段的最佳方法是什么? (如果我希望能够通过 Jackson 反序列化该字段,但在序列化时隐藏它)

例如,如果我有以下模型:

class User {
  private String secret;
  private String username;
}

我希望能够通过调用 new ObjectMapper().readValue() 创建一个带有 secret 的用户,但我想在序列化为 JSON 时隐藏 secret 字段。

最佳答案

在属性前添加@JsonIgnore注解

或者您可以添加@JsonIgnoreProperties注释并指定要排除的字段

public class Foo{
     @JsonIgnore
     private String bar;
     ...
}

@JsonIgnoreProperties(value = { "bar" })
public class Foo {
    private String bar;

...
}

或者如果您只想在序列化时忽略此字段,而不是在反序列化时忽略该字段

public class Foo{

     private String bar;
     ...
     @JsonIgnore
     public String getBar(){
           return bar;
     }

     public void setBar(String bar){
           this.bar = bar;
     }
}

关于jackson - Dropwizard隐藏json字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21770773/

相关文章:

java - json mapper writerWithDefaultPrettyPrinter 用于由换行符分隔的多个 json 对象

java - 默认类多态性 Jackson Java

json - 无法使 @JsonIdentityInfo 注释起作用

java - 将 Apache Shiro 安全库与基于 Dropwizard 的 JAX-RS 应用程序集成

java - Dropwizard 指标注释 @Timed 不工作

android - 使用 Kotlin 默认值的 Jackson 反序列化失败

java - Jackson 的 mixin 类不能解决问题 : bug or am I doing something wrong?

java - 如何为 Dropwizard 应用程序构建 web.xml

java - 使用列表值映射解析 Yaml 时出现 Jackson 异常

java - Sentry 收到我的日志消息,但没有收到我的异常