package com.alibaba.json.bvt.bug; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import com.alibaba.json.bvt.parser.array.BeanToArrayTest3_private; import junit.framework.TestCase; import org.junit.Assert; /** * Created by wuwen on 2017/2/24. */ public class Issue1036 extends TestCase { /** * @see BeanToArrayTest3_private#test_array() * @see com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer#parseField * */ public void test_for_issue() throws Exception { NullPointerException exception = new NullPointerException("test"); Result<String> result = new Result<String>(); result.setException(exception); String json = JSON.toJSONString(result); Result<String> a = JSON.parseObject(json, new TypeReference<Result<String>>() { }); Assert.assertEquals("test", a.getException().getMessage()); } public static class Result<T> { private T data; private Throwable exception; public Result() { } public T getData() { return data; } public void setData(T data) { this.data = data; } public Throwable getException() { return exception; } public void setException(Throwable exception) { this.exception = exception; } @Override public String toString() { return "Result{" + "data='" + data + '\'' + ", exception=" + exception + '}'; } } }