Dio请求数据返回的默认返回_InternalLinkedHashMap<String, dynamic>,
这样的map集合使用很不方便,如何转成bean类呢
网上都是推荐使用json_serializable,只是会自动生成工具类,并没有简单方面的直接转成bean,而且还要手动调用方法,感觉也不是很方便
基本数据{"errorCode":0,"errorMsg":"","data":xxx},一般数据类型data可能是对象或者数组
先看结果

homeData.data就是最后我们解析的bean类

这个需要的HomeData一定要在requestObject参数里给HomeData(),这个对象,这是一定要的.

最后dio的简单封装使用,不用使用其他依赖,最后返回我们要的bean类,使用方便
如果使用FlutterJsonBeanFactory插件生成Bean类,则把返回值修改成Resource.success(object.fromJson(response.data);泛型 T extends JsonConvert,返回最外层对象
怎么使用呢,
1.自己写了两个基础bean类帮助解析

2.返回List的使用

3.返回对象的

那bean类手动写也很烦啊
在线json转bean类的,看下这个帮助生成的bean类

这个是外壳,我们是不要的,我们有自己的外壳

我们要修改成适合我们的解析方式,只要修改几个地方就好了

返回对象的使用

而我们这些bean类的改动,只要改动data这个对象就可以,里面的其他对象都不用变动
完整代码放在GitHub上了代码
网友评论