Skip to content

Commit f09ccac

Browse files
committed
Change int[] serializer to use the new JsonParser.writeArray() call
1 parent 1ecc6b5 commit f09ccac

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/main/java/com/fasterxml/jackson/databind/ser/std/ArraySerializerBase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,9 @@ public void serialize(T value, JsonGenerator gen, SerializerProvider provider) t
119119
return;
120120
}
121121
}
122+
gen.setCurrentValue(value);
122123
gen.writeStartArray();
123124
// [databind#631]: Assign current value, to be accessible by custom serializers
124-
gen.setCurrentValue(value);
125125
serializeContents(value, gen, provider);
126126
gen.writeEndArray();
127127
}

src/main/java/com/fasterxml/jackson/databind/ser/std/StdArraySerializers.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -391,20 +391,20 @@ public boolean hasSingleElement(int[] value) {
391391
}
392392

393393
@Override
394-
public final void serialize(int[] value, JsonGenerator jgen, SerializerProvider provider) throws IOException
394+
public final void serialize(int[] value, JsonGenerator gen, SerializerProvider provider) throws IOException
395395
{
396396
final int len = value.length;
397397
if (len == 1) {
398398
if (((_unwrapSingle == null) &&
399399
provider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED))
400400
|| (_unwrapSingle == Boolean.TRUE)) {
401-
serializeContents(value, jgen, provider);
401+
serializeContents(value, gen, provider);
402402
return;
403403
}
404404
}
405-
jgen.writeStartArray(len);
406-
serializeContents(value, jgen, provider);
407-
jgen.writeEndArray();
405+
// 11-May-2016, tatu: As per [core#277] we have efficient `writeArray(...)` available
406+
gen.setCurrentValue(value);
407+
gen.writeArray(value, 0, value.length);
408408
}
409409

410410
@Override

0 commit comments

Comments
 (0)