解决问题 com.alibaba.fastjson.JSONObject cannot be cast to 的问题
我们通过接口的形式得到一组json数据如下:
{
"name": "小名",
"age":19
"subTradeList": [
{
"balance": "2083.63",
"money": "0.01",
"tradeDesc": "工资",
"tradeTime": "2018-12-07 11:51:01",
"tradeType": "1",
"queryTime": "2018-12-07 15:33:07",
"recAccount": "410350248160111",
"recAccountName": "(特约)中金支付(资金结算)",
"tradeAddress": null
},
{
"balance": "2083.63",
"money": "0.01",
"tradeDesc": "代付",
"tradeTime": "2018-12-07 11:50:58",
"tradeType": "1",
"queryTime": "2018-12-07 15:33:07",
"recAccount": "410350248160111",
"recAccountName": "(特约)中金支付(资金结算)",
"tradeAddress": null
}]
}
然后我们将JSONObject转换成我们需要的对象类型
List<SubTrade> subTrades = (List<SubTrade>) json.get(key);
这样看起来并没有什么问题,SubTrade对象的list我们已经可以去使用了,但是当执行以下代码的时候却报了错
for (int i = 0; i < subTradeList.size(); i++) {
SubTrade subTrade = subTradeList.get(i);
}
解决办法
在转换的时候这样写
List<SubTrade> subTrades = JSON.parseArray(json.getString("subTradeList"), SubTrade.class);
就可以解决问题
还没有评论,来说两句吧...