Retrofit 返回泛型对象封装的问题(个人)

本文讲述了在Android开发中遇到的泛型问题,由于服务器返回的数据部分相同但部分不同,尝试使用泛型封装。在使用Retrofit解析时遇到了类型转换错误。作者通过观察返回数据的格式,发现其并非标准JSON格式。为了解决这个问题,作者提出了一个解决方案:将服务器返回的泛型数据转换为JSON字符串,然后再转化为所需的JavaBean对象,以此成功解决了类型匹配问题。
摘要由CSDN通过智能技术生成

最近Android开发遇见了关于泛型的问题,服务器端返回的数据有些数据段是一样的,但有的不一样,所以就想用泛型来实现,如下:

这个是登录的返回结果:

这个是注册的返回结果:

可以看到,data的数据是不一样的,其他接口也是,所以data就想用泛型来封装,如下:

但是因为Java的泛型的一些原因(详情可自己百度,我也是百度的,不是很秦楚,新手一枚),导致在解析返回数据中的泛型的时候一直报错。像com.google.gson.internal.LinkedTreeMap cannot be cast to my object这个错误,大概就是将解析的数据编程了LinkedTreeMap,然后你用自己的JavaBean去解析时类型不对应,不能替代。

网上找了很多方法,大多是用Type啥啥啥的,因为自己是新手,也不是很理解&

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值