Flutter 已然成爲煊赫一時前端框架。若問跨平臺到底有多香,天然是要多香有多香。今天我就分享這些天研究Flutter http鏈接和json格式轉換的內容,小弟對Flutter也是小白一名,若有錯誤請多加指正。前端
源碼下載地址git
先來看看要完成的任務:調用https://test.apigj.com/apgetuserinfo 獲取用戶信息github
{ "userid": 7933833267642368 }
{ "msg": "success", "code": 0, "userinfo": { "username": "Batman", "gender": 0, "birthday": 5025914914078720 } }
Flutter 官方給出兩種建議:手動序列化和自動生成代碼的方式json
手動序列化適合較小的項目,具備簡單靈活的優點,但也容易出現因輸入錯誤形成沒法解析的小問題,我這裏就不展開了api
自動生成代碼適合相對較大的項目,同時要求寫class定義數據結構:前端框架
首先,修改pubspec.yaml文件數據結構
而後,完成class定義數據結構:多線程
class定義好後,這裏還有些錯誤,緣由是還有些代碼是須要Flutter自動生成的框架
成功之後會生成幾下.g.dart文件角,錯誤也就消失了async
這些文件裏是對應class的解析和編碼的方法
這樣Json處理內容就這些,已經能夠很是方便的在對象和json之間互轉了
Http請求爲了防止線程阻塞,多數狀況下要使用多線程實現,Flutter的HttpClient已經在底層作了線程處理,因此要使用async, await或者Future進行同步線程,這裏是我Http請求的靜態方法
還有就是在Flutter Widget中調用請求的方法
整體來講Flutter仍是比較容易上手的,但要深刻的話也能夠實現多平臺的Flutter庫,基本上可使用Flutter實現一套代碼跨平臺,還不開始研究麼?
本示例實體class結構定義經過Api管家自動生成