package com.alibaba.json.bvt.serializer; import java.lang.ref.WeakReference; import junit.framework.TestCase; import org.junit.Assert; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.parser.ParserConfig; import com.alibaba.fastjson.serializer.ReferenceCodec; public class ReferenceDeserializerTest extends TestCase { public void test_0() throws Exception { ParserConfig config = new ParserConfig(); config.putDeserializer(MyRef.class, ReferenceCodec.instance); Exception error = null; try { JSON.parseObject("{\"ref\":{}}", VO.class, config, 0); } catch (Exception ex) { error = ex; } Assert.assertNotNull(error); } public static class VO { private MyRef<Object> ref; public MyRef<Object> getRef() { return ref; } public void setRef(MyRef<Object> ref) { this.ref = ref; } } public static class MyRef<T> extends WeakReference<T> { MyRef(T referent){ super(referent); } } }