diff --git a/src/main/java/com/alibaba/fastjson/parser/deserializer/ASMDeserializerFactory.java b/src/main/java/com/alibaba/fastjson/parser/deserializer/ASMDeserializerFactory.java index 2418a019a..14047de1d 100644 --- a/src/main/java/com/alibaba/fastjson/parser/deserializer/ASMDeserializerFactory.java +++ b/src/main/java/com/alibaba/fastjson/parser/deserializer/ASMDeserializerFactory.java @@ -319,11 +319,11 @@ public class ASMDeserializerFactory implements Opcodes { if (defaultConstructor != null) { _batchSet(context, mw); } else { - mw.visitTypeInsn(NEW, getType(context.getClazz())); - mw.visitInsn(DUP); - Constructor creatorConstructor = context.getBeanInfo().getCreatorConstructor(); if (creatorConstructor != null) { + mw.visitTypeInsn(NEW, getType(context.getClazz())); + mw.visitInsn(DUP); + _loadCreatorParameters(context, mw); mw.visitMethodInsn(INVOKESPECIAL, getType(context.getClazz()), "",