@SuppressWarnings("rawtypes") @Override public JsonSerializer<?> findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { Class<?> contentClass = type.getContentType().getRawClass(); TypeCustomizationFactory factory = provider.factoryForArrayOf(contentClass); if (factory != null) { final JsonSerializer ser = factory.createSerializer(); return new JsonSerializer() { @SuppressWarnings("unchecked") @Override public void serialize(Object o, JsonGenerator gen, SerializerProvider serializerProvider) throws IOException { gen.writeStartArray(); gen.setCurrentValue(o); int length = Array.getLength(o); for (int i = 0; i < length; i++) { Object arrayElement = Array.get(o, i); ser.serialize(arrayElement, gen, serializerProvider); } gen.writeEndArray(); } }; } return super.findArraySerializer(config, type, beanDesc, elementTypeSerializer, elementValueSerializer); }