【问题标题】:Is there a way to ignore jackson fields at runtime without using @JsonIgnore [duplicate]有没有办法在运行时忽略杰克逊字段而不使用@JsonIgnore [重复]
【发布时间】:2020-02-19 16:53:42
【问题描述】:

我正在尝试序列化一个对象并在运行时选择要忽略的字段而不使用@JsonIgnore 注释,我正在尝试以下代码:

            @Override
            protected boolean _isIgnorable(Annotated a) {
                if (a.getName().contains("foo")) {
                    return true;
                }
            }
        });

但是这段代码不起作用,因为我无法获取字段,任何人都可以帮助我吗?

【问题讨论】:

  • 为什么不想使用@JsonIgnore?
  • 希望对您有所帮助:stackoverflow.com/questions/44671154/…
  • @rhowell 这是一个遗留软件,我无法更改架构我试图在运行时选择此方法中的字段

标签: java hibernate java-8 jackson


【解决方案1】:

您确定,您的 AnnotationIntrospector 实现使用的是什么?

if (a.getName().contains("foo")) { 行放置断点。

_isIgnorablecom.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector 类中

pic

【讨论】:

    猜你喜欢
    • 2015-03-20
    • 2014-09-30
    • 2015-12-05
    • 1970-01-01
    • 2016-09-11
    • 2017-02-08
    • 2014-07-01
    • 1970-01-01
    • 2020-09-28
    相关资源
    最近更新 更多