Gson的TypeToken用法

接触到这个东西,是一个大佬教的,非常感谢他!带我走过了很多路!之所以用到这个东西是因为在处理移动爸爸接口返回的数据的时候我发现一个很恶心的东西,让我写了很多冗余类,我就想到了学习的时候所用的泛型,但是我真正用到泛型的时候,发现我好像不太会用这个东西,但是并没有阻挡我想要优化这段代码的心,于是我百度,查资料,但是还是没找到解决方法 ,问了下大佬也说没办法 ,后面我项目做完了,大佬给了我个代码片,成功的解决了!下面我就来说下使用场景吧!

访问移动的某业务接口,每个接口返回如下 格式 :

{

         "respcode": "0",

         "respdesc": "成功",

         "resptype": "0",

         "result": {

                  ..............................................

                  }

}

乍一看并没什么,但是当我用平时的处理方法 来处理的时候我发现result是个对象 ,

 Cannot deserialize instance of `java.lang.String` out of START_OBJECT token

public class ResultResp {

    private String respcode;
    private String respdesc;
    private String resptype;
    private String result;

    get,set().....

}

处理方式如下:
 

String strss = "{\r\n" + "    \"result\": {\r\n" + "        \"data\": [{\r\n" +
          "            \"remark\": \"null\",\r\n" +
          "            \"telno\": \"1857635xxxx\",\r\n" +
          "            \"goods\": \"null\",\r\n" +
          "            \"expressno\": \"JDVC0083431xxxx\",\r\n" +
          "            \"servnumber\": \"1987927xxxx\",\r\n" +
          "            \"orderid\": \"240845xxx\",\r\n" +
          "            \"traceinfo\": [{\r\n" +
          "                \"content\": \"货物已分配,等待配送\",\r\n" +
          "                \"operationtime\": \"2019-08-05 07:04:56\"\r\n" +
          "            }, {\r\n" +
          "                \"content\": \"货物已完成分拣,离开【东莞麻涌分拣中心】\",\r\n" +
          "                \"operationtime\": \"2019-08-05 03:09:14\"\r\n" +
          "            }, {\r\n" +
          "                \"content\": \"货物已到达【东莞麻涌分拣中心】\",\r\n" +
          "                \"operationtime\": \"2019-08-05 03:05:54\"\r\n" +
          "            }, {\r\n" + "                \"content\": \"打包完成\",\r\n" +
          "                \"operationtime\": \"2019-08-04 21:10:48\"\r\n" +
          "            }, {\r\n" + "                \"content\": \"您的订单已从库房发货交接\"
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值