Java 杰克逊的洗涤器
我想将Jackson中的敏感字符串转换为类似于Java 杰克逊的洗涤器,java,jackson,Java,Jackson,我想将Jackson中的敏感字符串转换为类似于“的内容。理想情况下,类似于: interface Scrubber { String scrubString(String str); boolean shouldScrubValue(String key); // String keys are never themselves scrubbed } @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.MET
“
的内容。理想情况下,类似于:
interface Scrubber {
String scrubString(String str);
boolean shouldScrubValue(String key);
// String keys are never themselves scrubbed
}
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.FIELD})
public @interface Serializable {
public boolean value() default true;
}
class ClassToBeSerialized {
String nonScrubbedString;
@Scrub
String scrubbedString;
// deep values are scrubbed too unless marked otherwise
@Scrub
Map<String, Object> map;
@Scrub
IncludedClass obj;
}
class IncludedClass {
@Scrub(false)
String nonScrubbedString;
Map<String, Object> map; // is scrubbed if included from ClassToBeSerialized
}
接口洗涤器{
字符串scrubString(字符串str);
布尔值shouldScrubValue(字符串键);
//字符串键本身永远不会被擦洗
}
@保留(RetentionPolicy.RUNTIME)
@目标({ElementType.METHOD,ElementType.FIELD})
公共@接口可序列化{
公共布尔值()默认为true;
}
类被序列化{
字符串非擦伤;
@擦洗
字符串擦洗字符串;
//深度值也会被清除,除非另有标记
@擦洗
地图;
@擦洗
包括类obj;
}
类包括类{
@擦洗(假)
字符串非擦伤;
Map Map;//如果包含在ClassToBeSerialized中,则会被清除
}
在scriber
实例中,我可以将其作为Jackson属性包含,但剩下的最好方法是什么?类似于