java - 有没有办法在运行时忽略 Jackson 字段而不使用 @JsonIgnore

标签 java hibernate java-8 jackson

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

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

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

最佳答案

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

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

以及com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector类的_isIgnorable内部

pic

关于java - 有没有办法在运行时忽略 Jackson 字段而不使用 @JsonIgnore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60305429/

相关文章:

java嵌套for循环空格和数字

Java Streams - 嵌套流的映射方法无法按预期工作

java - 5-10M 条目的最佳 hashmap 容量/负载因子是多少?

java - 用 Java 创建瓦片 map

java - 用不可见字符(制表符、回车符、组分隔符等)分隔字符串?

java - 组织.hibernate.AnnotationException : No identifier specified for entity

Java Spring JPA Repository 之间的日期查询

java - 如何将复制构造函数作为方法引用传递?

Java未知异常

javascript - 如何在 UI 中与 React JS 一起实现无限滚动?