Skip to content

Commit ad8c3d2

Browse files
committed
One fix related to #358 to also resolve related case of Iterator
1 parent ce457af commit ad8c3d2

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/main/java/com/fasterxml/jackson/databind/ser/impl/IteratorSerializer.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
import com.fasterxml.jackson.core.JsonGenerationException;
77
import com.fasterxml.jackson.core.JsonGenerator;
8-
98
import com.fasterxml.jackson.databind.*;
109
import com.fasterxml.jackson.databind.annotation.JacksonStdImpl;
1110
import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
@@ -62,22 +61,24 @@ public void serializeContents(Iterator<?> value, JsonGenerator jgen, SerializerP
6261
Object elem = value.next();
6362
if (elem == null) {
6463
provider.defaultSerializeNull(jgen);
65-
} else {
64+
continue;
65+
}
66+
JsonSerializer<Object> currSerializer = _elementSerializer;
67+
if (currSerializer == null) {
6668
// Minor optimization to avoid most lookups:
6769
Class<?> cc = elem.getClass();
68-
JsonSerializer<Object> currSerializer;
6970
if (cc == prevClass) {
7071
currSerializer = prevSerializer;
7172
} else {
7273
currSerializer = provider.findValueSerializer(cc, _property);
7374
prevSerializer = currSerializer;
7475
prevClass = cc;
7576
}
76-
if (typeSer == null) {
77-
currSerializer.serialize(elem, jgen, provider);
78-
} else {
79-
currSerializer.serializeWithType(elem, jgen, provider, typeSer);
80-
}
77+
}
78+
if (typeSer == null) {
79+
currSerializer.serialize(elem, jgen, provider);
80+
} else {
81+
currSerializer.serializeWithType(elem, jgen, provider, typeSer);
8182
}
8283
} while (value.hasNext());
8384
}

0 commit comments

Comments
 (0)