net.sf.json java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to

转换遇到这么一个问题,最后定位是有个字段名为"agent"引起的。

默认被转换为net.sf.ezmorph.bean.MorphDynaBean,但是我又需要这个字段名叫"agent",那就要定义一个规则覆盖原有的。

比如MyResponse类中有一句 private MyAgent agent;要定义规则确保这个agent字段会映射到我自己的MyAgent类。

即从

JSONObject json = JSONObject.fromObject("json字符串");
MyResponse response = (MyResponse) JSONObject.toBean(json, MyResponse.class); 

改为

Map<String, Class<MyAgent>> map = new HashMap<>();
map.put("agent", MyAgent.class);

JSONObject json = JSONObject.fromObject("json字符串");
MyResponse response = (MyResponse) JSONObject.toBean(json, MyResponse.class, map); 

应该会有其他字段类似"agent",有空去看看官方文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值