Jackson Deserialization of all empty Strings to null in class
我有多个 POJO,其中一些我想要
将所有空字符串反序列化为
对我来说有没有办法(可能是注释?)
告诉杰克逊哪些 POJO 应该反序列化
哪个不应该?
不是重复的,我正在寻找一种适用于类而不是单个字段的解决方案
定义一个序列化器如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public class EmptyStringAsNullDeserializer extends JsonDeserializer<String> { @Override public String deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException { String value = jsonParser.getText(); if (value == null || value.isEmpty()) { return null; } else { return value; } } } |
将其添加到
1 2 3 4 5 | SimpleModule module = new SimpleModule(); module.addDeserializer(String.class, new EmptyStringAsNullDeserializer()); ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(module); |