【问题标题】:How to ignore @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)如何忽略@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
【发布时间】:2021-01-28 15:07:45
【问题描述】:

我有一个 pojo,大多数时候我不想将字段写入 Json,但对于特定的情况,我想将此值写入 json。例如我的模型是;

public class Person {

    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    public String value;
}

是否可以将Object Mapper配置为忽略@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)

【问题讨论】:

    标签: jackson fasterxml


    【解决方案1】:

    老实说,我不知道真正让ObjectMapper 忽略特定注释的直接方法,但为什么不使用@JsonViews?

    只需定义一些视图……

    public class Views {
        public static class Public {
        }
        public static class Internal {
        }
    }
    

    …把它放在你的条件字段…

    public class Person {
        @JsonView(Views.Internal.class)
        public String value;
    }
    

    ...并使用您的映射器对其进行序列化...

        String result = mapper
          .writerWithView(Views.Public.class)
          .writeValueAsString(person);
    

    以上示例取自 good old Baeldung,您可以在其中找到此解决方案的更多好变体。

    【讨论】:

    • 我不知道 JsonView。我会尝试让你知道它是否有效。感谢您的建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 2014-01-04
    • 2017-11-21
    • 1970-01-01
    相关资源
    最近更新 更多