com.alibaba.fastjson.JSONArray cannot be cast to java.lang.String的解决方法

背景:我们现在的这个项目需要对接物流跟踪信息,通过调用快递100物流实时查询接口获取物流信息。
数据格式如下:

{
    "message":"ok",
    "state":"0",
    "status":"200",
    "condition":"F00",
    "ischeck":"0",
    "com":"yuantong",
    "nu":"V030344422",
    "data":[
        {
            "context":"上海分拨中心/装件入车扫描 ",
            "time":"2012-08-28 16:33:19",
            "ftime":"2012-08-28 16:33:19",
        },
        {
            "context":"上海分拨中心/下车扫描 ",
            "time":"2012-08-27 23:22:42",
            "ftime":"2012-08-27 23:22:42",
        }]
}
我是通过下面这个方法将返回是字符串数据转换为我需要的对象:
List<T> ts = (List<T>) JSONArray.parseArray(jsonString, clazz);

但是,我在用这个JSONArray对象的parseArray方法的时候,没有将返回来是字符串转换为json字符串,所以报了这个错。快递100接口默认是返回json的字符串。

后面我加了JSON.toJSONString才解决这个报错。

List<OrderTraceInfoVo> list = JSONArray.parseArray(JSON.toJSONString(maps.get("data")),OrderTraceInfoVo.class);

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值