aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/fasterxml/jackson/databind/deser/std/StringArrayDeserializer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/fasterxml/jackson/databind/deser/std/StringArrayDeserializer.java')
-rw-r--r--src/main/java/com/fasterxml/jackson/databind/deser/std/StringArrayDeserializer.java20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/main/java/com/fasterxml/jackson/databind/deser/std/StringArrayDeserializer.java b/src/main/java/com/fasterxml/jackson/databind/deser/std/StringArrayDeserializer.java
index a348a4019..798a92624 100644
--- a/src/main/java/com/fasterxml/jackson/databind/deser/std/StringArrayDeserializer.java
+++ b/src/main/java/com/fasterxml/jackson/databind/deser/std/StringArrayDeserializer.java
@@ -10,6 +10,7 @@ import com.fasterxml.jackson.databind.deser.ContextualDeserializer;
import com.fasterxml.jackson.databind.deser.NullValueProvider;
import com.fasterxml.jackson.databind.deser.impl.NullsConstantProvider;
import com.fasterxml.jackson.databind.jsontype.TypeDeserializer;
+import com.fasterxml.jackson.databind.type.LogicalType;
import com.fasterxml.jackson.databind.util.AccessPattern;
import com.fasterxml.jackson.databind.util.ObjectBuffer;
@@ -75,6 +76,11 @@ public final class StringArrayDeserializer
_skipNullValues = NullsConstantProvider.isSkipper(nuller);
}
+ @Override // since 2.12
+ public LogicalType logicalType() {
+ return LogicalType.Array;
+ }
+
@Override // since 2.9
public Boolean supportsUpdate(DeserializationConfig config) {
return Boolean.TRUE;
@@ -144,7 +150,7 @@ public final class StringArrayDeserializer
while (true) {
String value = p.nextTextValue();
if (value == null) {
- JsonToken t = p.getCurrentToken();
+ JsonToken t = p.currentToken();
if (t == JsonToken.END_ARRAY) {
break;
}
@@ -200,7 +206,7 @@ public final class StringArrayDeserializer
*/
String value;
if (p.nextTextValue() == null) {
- JsonToken t = p.getCurrentToken();
+ JsonToken t = p.currentToken();
if (t == JsonToken.END_ARRAY) {
break;
}
@@ -264,7 +270,7 @@ public final class StringArrayDeserializer
while (true) {
String value = p.nextTextValue();
if (value == null) {
- JsonToken t = p.getCurrentToken();
+ JsonToken t = p.currentToken();
if (t == JsonToken.END_ARRAY) {
break;
}
@@ -304,12 +310,8 @@ public final class StringArrayDeserializer
: _parseString(p, ctxt);
return new String[] { value };
}
- if (p.hasToken(JsonToken.VALUE_STRING)
- && ctxt.isEnabled(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT)) {
- String str = p.getText();
- if (str.length() == 0) {
- return null;
- }
+ if (p.hasToken(JsonToken.VALUE_STRING)) {
+ return _deserializeFromString(p, ctxt);
}
return (String[]) ctxt.handleUnexpectedToken(_valueClass, p);
}