亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

gson解析注意事項

2019-11-06 09:37:25
字體:
來源:轉載
供稿:網友

今天在解析json時,遇到解析錯誤的問題。 總結來說,字段必須要一致,字段類型要一致,序列化,還要在混淆的情況下要保持相應的類不被混淆。 要保持bean 不被混淆,在 PRoguard-rules.pro添加如下代碼:

-keep class 包名.** { *; }

如下面這個路徑下的UserInfo

com.baidu.app.improve.bean.UserInfo

對應的混淆文件配置:

-keep class com.baidu.app.improve.bean.** { *; }

若在混淆情況下不做如此設置則會報諸如“com.a.b.b.h cannot be cast to com.baidu.app.improve.bean.UserInfo ”這樣的異常。 當然解析方式不正確的話,也會報此異常。

這樣一個json數據:

{ "code": 0, "message": "", "result": { "id": "081234568945", "sn": "", "nickname": "abcd", "mobile": "18888888", "email": "", "avatar": "", "birth": "", "gender": "1", "name": "", "longitude": "", "latitude": "", "availablePoint": 0, "receivePoint": 0, "makePoint": 0, "age": 0, "genderDescr寫的bean如下:

ResultBean

public class ResultBean<T> { private T result; private int code; private String message; .....get/setter方法 }

UserInfo

public class UserInfo implements Serializable{ private String genderDescription; private int receivePoint; private String gender; private String residenceParentIds; private int makePoint; private String latitude; private String mobile; private String birth; private String avatar; private String residenceId; private String residenceMergerName; private String memberTypeName; private String nickname; private String name; private int availablePoint; private String id; private String sn; private String email; private int age; private String longitude; private String residenceName; ......get/setter方法......}

gson解析的正確姿勢為:

private static TextHttpResponseHandler mHandler = new TextHttpResponseHandler() { @Override public void onStart() { super.onStart(); log("HttpResponseHandler:onStart"); } @Override public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) { log("HttpResponseHandler:onFailure responseString:" + responseString); } @Override public void onSuccess(int statusCode, Header[] headers, String responseString) { Type type = new TypeToken<ResultBean<UserInfo>>() { }.getType(); ResultBean<UserInfo> resultBean = App
Operator.createGson().fromJson(responseString, type); ...............}

gson解析集合 json

{ "code": 0, "message": "", "result": { "currentCount": 3, "dataList": [ { "id": "6", "longitude": 116.42565, "latitude": 39.84026, "isRead": true, "isCollection": true, "deadline": "2017-02-24 17:34", "memberType": "個人", "pupuContent": "", "publishDate": "2017-02-23 17:34", "intervalTime": "5天", "publisher": "", "publisherAvatar": "", "recipientName": "", "recipientAvatar": "", "distance": 0 }, { "id": "5", "longitude": 116.42565, "latitude": 39.84026, "isRead": true, "isCollection": true, "deadline": "2017-02-24 17:34", "memberType": "個人", "pupuContent": "", "publishDate": "2017-02-23 17:34", "intervalTime": "5天", "publisher": "", "publisherAvatar": "", "recipientName": "", "recipientAvatar": "", "distance": 0 }, { "id": "2", "longitude": 116.42565, "latitude": 39.84026, "isRead": false, "isCollection": false, "deadline": "2017-02-24 17:34", "memberType": "個人", "pupuContent": "", "publishDate": "2017-02-23 17:34", "intervalTime": "5天", "publisher": "", "publisherAvatar": "", "recipientName": "", "recipientAvatar": "", "distance": 0 } ], "pageNo": 1, "pageSize": 100, "isLastPage": true, "lastCount": 1, "count": 3 }}public class PageBean<T> implements Serializable { private int currentCount; private List<T> dataList; .........get/setter方法....... }

Tweet

public class PPMessage implements Serializable { private String id; private int distance; private String recipientAvatar; private double latitude; private String pupuContent; private boolean isRead; private boolean isCollection; private String publishDate; private int min; private String publisherAvatar; private String publisher; private String recipientName; private String memberType; private String deadline; private double longitude; .......get/setter方法......}

解析

TextHttpResponseHandler mHandler = new TextHttpResponseHandler() { @Override public void onStart() { super.onStart(); log("HttpResponseHandler:onStart"); } @Override public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) { onRequestError(); log("HttpResponseHandler:onFailure responseString:" + responseString); } @Override public void onSuccess(int statusCode, Header[] headers, String responseString) { log("HttpResponseHandler:onSuccess responseString:" + responseString); try { ResultBean<PageBean<T>> resultBean = AppOperator.createGson().fromJson(responseString, getType()); ................}....................

這里用了泛型。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色777狠狠综合秋免鲁丝| 欧美日韩国产一中文字不卡| 欧美日韩国产在线播放| 久久久久久有精品国产| 久久久在线观看| 久久久精品在线观看| 欧美激情一区二区三区高清视频| 国产精品免费久久久| 国产综合在线观看视频| 欧美性极品xxxx娇小| 久久久久久久999精品视频| 国产精品美女视频网站| 亚洲精品视频中文字幕| 欧美一区在线直播| 8x拔播拔播x8国产精品| 91在线色戒在线| 91sa在线看| 亚洲精品午夜精品| 亚洲三级黄色在线观看| 日韩av大片在线| 亚洲综合在线做性| 成人羞羞国产免费| 国产精品扒开腿爽爽爽视频| 亚洲丁香久久久| 亚洲欧美视频在线| 久久琪琪电影院| 久久综合五月天| 亚洲欧洲美洲在线综合| 日韩免费av在线| www.亚洲人.com| 精品国产精品自拍| 日韩精品视频在线| 国产精品亚洲一区二区三区| 欧美老少配视频| 亚洲成人久久电影| 欧美日韩一区二区免费视频| 国产精品扒开腿做爽爽爽的视频| 91精品久久久久久久久久久| 国产精品成av人在线视午夜片| 日韩av电影在线播放| 日本午夜在线亚洲.国产| 成人免费视频网| 亚洲人精选亚洲人成在线| 麻豆国产精品va在线观看不卡| 日产精品久久久一区二区福利| 亚洲男人的天堂网站| 精品露脸国产偷人在视频| 欧美精品久久久久久久久久| 中文字幕亚洲无线码在线一区| 国产不卡av在线免费观看| 国产精品免费久久久久久| 国产精品成久久久久三级| 国产午夜精品全部视频播放| 国产a级全部精品| 中文在线资源观看视频网站免费不卡| 久久国产精品视频| 欧美有码在线视频| 欧美午夜激情视频| 亚洲精品免费在线视频| 亚洲91精品在线| 国产精品伦子伦免费视频| 亚洲电影中文字幕| 欧洲美女7788成人免费视频| 亚洲少妇中文在线| 69国产精品成人在线播放| 日韩在线播放av| 国产精品第三页| 91色视频在线观看| 亚洲石原莉奈一区二区在线观看| 日韩免费看的电影电视剧大全| 成人av电影天堂| 亚洲裸体xxxx| 国产精品免费久久久久影院| 亚洲高清福利视频| 亚洲国产小视频在线观看| 亚洲一级黄色片| 午夜精品一区二区三区av| 久久久欧美精品| 深夜福利日韩在线看| 精品久久久久久中文字幕大豆网| 国产一区私人高清影院| 久久6精品影院| 国产丝袜一区二区三区免费视频| 亚洲男人天堂网| 久久久精品欧美| 亚洲欧美色婷婷| 欧美整片在线观看| 亚洲精品网站在线播放gif| 亚洲大胆美女视频| 久久这里只有精品视频首页| 亚洲精品视频在线观看视频| 精品欧美激情精品一区| 精品日韩美女的视频高清| 日韩精品视频中文在线观看| 成人免费网站在线看| 日本精品va在线观看| 国产热re99久久6国产精品| 98精品在线视频| 亚洲精品在线看| 久久人91精品久久久久久不卡| 国产精品一区二区三区免费视频| 国产精品jvid在线观看蜜臀| 欧美成人免费在线观看| 91中文字幕一区| 久久久久国产精品免费网站| 91精品国产91久久久久久不卡| www.99久久热国产日韩欧美.com| 色yeye香蕉凹凸一区二区av| 国产精品久久视频| 久久精品亚洲精品| 97在线视频免费播放| 精品久久久国产精品999| 奇米4444一区二区三区| 亚洲欧美日韩直播| 精品成人国产在线观看男人呻吟| 最近2019年手机中文字幕| 欧美在线中文字幕| 日韩欧美在线看| 丝袜美腿亚洲一区二区| 久久久国产精品x99av| 日本aⅴ大伊香蕉精品视频| 欧美影院在线播放| 色久欧美在线视频观看| 亚洲高清久久久久久| 91在线无精精品一区二区| 久久免费视频观看| 国内揄拍国内精品少妇国语| 日韩欧美中文在线| 精品久久中文字幕| 亚洲最大福利网站| 免费成人高清视频| 成人黄色中文字幕| 欧洲中文字幕国产精品| 欧美在线观看视频| 在线播放日韩专区| 中文字幕欧美日韩精品| 黑人极品videos精品欧美裸| 欧美日韩激情视频| 色青青草原桃花久久综合| 精品欧美一区二区三区| 欧美视频在线观看免费| 欧美激情性做爰免费视频| 高潮白浆女日韩av免费看| 中文字幕自拍vr一区二区三区| 亚洲黄色av网站| 在线精品国产成人综合| 亚洲精品电影在线| 欧美激情一区二区久久久| 亚洲第一av网| 最好看的2019的中文字幕视频| 精品国产福利视频| 日韩精品中文字幕在线播放| 色综合色综合网色综合| 中文字幕自拍vr一区二区三区| 亚洲欧洲高清在线| 久久久国产视频91| 欧美一性一乱一交一视频| 欧美日韩国产页| 国产精品69久久久久| 成人亚洲激情网| 亚洲成人精品久久| 日本韩国在线不卡| 91久久精品国产| 中文字幕欧美在线|