|
5 | 5 |
|
6 | 6 | import com.fasterxml.jackson.core.JsonGenerationException;
|
7 | 7 | import com.fasterxml.jackson.core.JsonGenerator;
|
8 |
| - |
9 | 8 | import com.fasterxml.jackson.databind.*;
|
10 | 9 | import com.fasterxml.jackson.databind.annotation.JacksonStdImpl;
|
11 | 10 | import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
|
@@ -62,22 +61,24 @@ public void serializeContents(Iterator<?> value, JsonGenerator jgen, SerializerP
|
62 | 61 | Object elem = value.next();
|
63 | 62 | if (elem == null) {
|
64 | 63 | provider.defaultSerializeNull(jgen);
|
65 |
| - } else { |
| 64 | + continue; |
| 65 | + } |
| 66 | + JsonSerializer<Object> currSerializer = _elementSerializer; |
| 67 | + if (currSerializer == null) { |
66 | 68 | // Minor optimization to avoid most lookups:
|
67 | 69 | Class<?> cc = elem.getClass();
|
68 |
| - JsonSerializer<Object> currSerializer; |
69 | 70 | if (cc == prevClass) {
|
70 | 71 | currSerializer = prevSerializer;
|
71 | 72 | } else {
|
72 | 73 | currSerializer = provider.findValueSerializer(cc, _property);
|
73 | 74 | prevSerializer = currSerializer;
|
74 | 75 | prevClass = cc;
|
75 | 76 | }
|
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); |
81 | 82 | }
|
82 | 83 | } while (value.hasNext());
|
83 | 84 | }
|
|
0 commit comments