|
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