fastjson反序列化多层嵌套泛型类
问题:json反序列化成 自定义的ResponseResult, 但是无法反序列化 T data属性,例如: ResponseResult<List>, 只能反序列化code,message, T data就不行v1JSONObject.parseObject(json, Result.class);,编译器就报错了Cannot select parameterized type。v2
问题:
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>(){})
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)