【发布时间】:2020-06-28 16:29:15
【问题描述】:
我需要从任何对象的字符串类型字段中去除所有特殊字符和控制字符。反序列化程序已注册,但在 Strings 的运行时期间从未执行。
我尝试添加与注释相同的 @JsonDeserialize(using = StringProcessorComponent.class),但同样的问题。
它适用于任何其他类型,例如Date/Long。如果我遗漏任何内容,请告诉我。
这是我的反序列化器。
@JsonComponent
public class StringProcessorComponent extends JsonDeserializer<String> {
@Override
public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
JsonToken currentToken = p.getCurrentToken();
if (currentToken.equals(JsonToken.VALUE_STRING)) {
String text = MyStringProcessor.clean(p.getValueAsString());
return text;
}
return null;
}
}
【问题讨论】:
标签: java spring string jackson json-deserialization