问题:
json反序列化成 自定义的ResponseResult, 但是无法反序列化 T data属性,
例如: ResponseResult<List>, 只能反序列化code,message, T data就不行
v1
JSONObject.parseObject(json, Result.class);,编译器就报错了Cannot select parameterized type。
v2
JSONObject.parseObject(json, Result.class);,执行没问题。但是没有Item类型信息,fastjson不可能跟你心有灵犀一点通知道该把data转为Item类型,result.getData().getClass()结果是com.alibaba.fastjson.JSONObject,也算是个妥善处理吧。
v3
使用TypeReference来处理,JSONObject.parseObject(json, new TypeReference<Result>(){});,终于“完美”解决!
解决方案:
使用 JSONObject.parseObject(json, new TypeReference<Result>(){})
本文介绍了在使用Fastjson进行反序列化时遇到的问题,特别是当需要将JSON转换为自定义的泛型类如`ResponseResult<List<Item>>`时,如何处理`Tdata`属性无法正确反序列化的情况。通过`JSONObject.parseObject(json, new TypeReference<Result>() {}
3778

被折叠的 条评论
为什么被折叠?



