diff --git a/src/main/java/com/jsoniter/ReflectionCollectionDecoder.java b/src/main/java/com/jsoniter/ReflectionCollectionDecoder.java index 2dcb6e9b..b82dfe91 100644 --- a/src/main/java/com/jsoniter/ReflectionCollectionDecoder.java +++ b/src/main/java/com/jsoniter/ReflectionCollectionDecoder.java @@ -38,7 +38,11 @@ private Object decode_(JsonIterator iter) throws Exception { if (iter.readNull()) { return null; } - col = (Collection) this.ctor.newInstance(); + if (col == null) { + col = (Collection) this.ctor.newInstance(); + } else { + col.clear(); + } while (iter.readArray()) { col.add(compTypeDecoder.decode(iter)); }