Skip to content

Commit 1b7f096

Browse files
committed
Merge branch '2.8'
2 parents b1087a6 + b96a3b5 commit 1b7f096

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

src/main/java/com/fasterxml/jackson/databind/deser/std/EnumDeserializer.java

+3-10
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ private final Object _deserializeAltString(JsonParser p, DeserializationContext
204204
name = name.trim();
205205
if (name.length() == 0) {
206206
if (ctxt.isEnabled(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT)) {
207-
return null;
207+
return getEmptyValue(ctxt);
208208
}
209209
} else {
210210
// [databind#1313]: Case insensitive enum deserialization
@@ -245,15 +245,8 @@ private final Object _deserializeAltString(JsonParser p, DeserializationContext
245245
protected Object _deserializeOther(JsonParser p, DeserializationContext ctxt) throws IOException
246246
{
247247
// [databind#381]
248-
if (ctxt.isEnabled(DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS)
249-
&& p.isExpectedStartArrayToken()) {
250-
p.nextToken();
251-
final Object parsed = deserialize(p, ctxt);
252-
JsonToken curr = p.nextToken();
253-
if (curr != JsonToken.END_ARRAY) {
254-
handleMissingEndArrayForSingle(p, ctxt);
255-
}
256-
return parsed;
248+
if (p.hasToken(JsonToken.START_ARRAY)) {
249+
return _deserializeFromArray(p, ctxt);
257250
}
258251
return ctxt.handleUnexpectedToken(_enumClass(), p);
259252
}

src/test/java/com/fasterxml/jackson/databind/struct/EmptyArrayAsNullTest.java

+4
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,10 @@ public void testNullStringFromEmptyArray() throws Exception {
125125
_testNullWrapper(String.class);
126126
}
127127

128+
public void testNullEnumFromEmptyArray() throws Exception {
129+
_testNullWrapper(ABC.class);
130+
}
131+
128132
public void testStdJdkTypesFromEmptyArray() throws Exception
129133
{
130134
_testNullWrapper(BigInteger.class);

0 commit comments

Comments
 (0)