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管家自动生成