Reputation: 31
I have a requirement that while doing serialization I should be able to to convert all the properties that are with Empty string i.e "" to NULL, I am using Jackson in Spring boot, any idea how can I achieve this?
Upvotes: 3
Views: 3548
Reputation: 821
Yep, it's very simple: use own Serializer for fields which can be empty and must be 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);
}
}
}
This serializer can be applied to all fields where you need to return null.
Upvotes: 4