Skip to content

Commit f52ffda

Browse files
authored
Merge pull request #18757 from dvohra16/master
BAEL-9407 Deserializing Null Strings as Empty Strings in Jackson
2 parents 7b86b71 + d025074 commit f52ffda

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.baeldung.jackson.defaultvalues;
2+
3+
public class SetterDefaultValueAsEmptyString {
4+
5+
private String required;
6+
private String optional = "valueIfMissingEntirely";
7+
8+
public void setOptional(String optional){
9+
if(optional == null){
10+
this.optional = "";
11+
}
12+
}
13+
14+
public String getRequired() {
15+
return required;
16+
}
17+
18+
public String getOptional() {
19+
return optional;
20+
}
21+
22+
@Override
23+
public String toString() {
24+
return "NonAnnotatedDefaultValue{" + "required='" + required + '\'' + ", optional='" + optional + '\'' + '}';
25+
}
26+
27+
}

jackson-modules/jackson-core/src/test/java/com/baeldung/jackson/defaultvalues/DefaultValuesUnitTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,15 @@ public void givenAClassWithASetter_whenReadingJsonWithNullOptionalValue_thenExpe
2525
assert(createdObject.getOptional()).equals("valueIfNull");
2626
}
2727

28+
@Test
29+
public void givenAClassWithASetter_whenReadingJsonWithNullOptionalValue_thenEmptyStringInResult() throws JsonProcessingException {
30+
String nullOptionalField = "{\"required\": \"value\", \"optional\": null}";
31+
ObjectMapper objectMapper = new ObjectMapper();
32+
SetterDefaultValueAsEmptyString createdObject = objectMapper.readValue(nullOptionalField, SetterDefaultValueAsEmptyString.class);
33+
assert(createdObject.getRequired()).equals("value");
34+
assert(createdObject.getOptional()).equals("");
35+
}
36+
2837
@Test
2938
public void givenAClassWithAJsonSetterNullsSkip_whenReadingJsonWithNullOptionalValue_thenExpectDefaultValueInResult() throws JsonProcessingException {
3039
String nullOptionalField = "{\"required\": \"value\", \"optional\": null}";

0 commit comments

Comments
 (0)