我有一个要求,在进行序列化时,我应该能够将Empty字符串(即“”)中的所有属性转换为NULL,我在Spring Boot中使用Jackson,请问如何实现这一目标? >
答案 0 :(得分:1)
是的,这非常简单:对于可以为空且必须为null的字段使用自己的序列化器:
class TestEntity {
@JsonProperty(value = "test-field")
@JsonSerialize(usung = ForceNullStringSerializer.class)
private String testField;
}
class ForceNullStringSerializer extends JsonSerializer<String> {
@Override
public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
if (value == null || value.equals("")) {
gen.writeNull();
} else {
gen.writeString(value);
}
}
}
此序列化程序可应用于需要返回null的所有字段。