接触到这个东西,是一个大佬教的,非常感谢他!带我走过了很多路!之所以用到这个东西是因为在处理移动爸爸接口返回的数据的时候我发现一个很恶心的东西,让我写了很多冗余类,我就想到了学习的时候所用的泛型,但是我真正用到泛型的时候,发现我好像不太会用这个东西,但是并没有阻挡我想要优化这段代码的心,于是我百度,查资料,但是还是没找到解决方法 ,问了下大佬也说没办法 ,后面我项目做完了,大佬给了我个代码片,成功的解决了!下面我就来说下使用场景吧!
访问移动的某业务接口,每个接口返回如下 格式 :
{
"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\": \"您的订单已从库房发货交接\"