FlutterJsonBeanFactory是用来生成dart的json实体类和根据配置生成factory的idea全家桶的插件.
首先必须添加 intl: any 到 pubspec.yaml
对比其他插件优势
①:可以自定义后台返回值,datetime解析格式,是否参与解析和被解析
使用注解@JSONField
其中name: "list"的list就是后台返回字段名称,deserialize(默认true)是否参与fromJson解析,serialize(默认true)是否参与tojson,
②:可以解析完整字段json
比如包含如下json
可以解析出来list中map的所有字段,并且每个list的map字段不同或者为null问题有会做出处理
③可以自动生成helper文件,后期修改or添加entity中的字段,只需一个快捷键(alt+j)就可以重新生成文件,并且会删除多余文件.
helper文件内容
④自动生成JsonConvert方便配合网络请求封装进行泛型处理
直接传递上面生成的entity就可以自动根据map解析出对应实例,并自动赋值
⑤使用gif图
⑥如果你不想在项目中使用该插件,那么可以在pubspec.yaml配置,当然需要改成enable为false
网络请求实例
dio请求部分
安装插件
安装完后重启ide,会发现tools里多了FlutterJsonBeanFactory一个选项
在对应目录右键new,会有个dart bean class file from json,点击这个选项
弹出一个输入类名和和json串的弹框,例:填入类型abc和json串
点击make按钮会生成a_b_c_entity.dart文件
这些操作完成后自动生成如下文件
@JSONField作用在Field时,其name不仅定义了输入key的名称,为了防止后台返回数据不规范,但是flutter端需要按照驼峰命名
a_b_c_entity_helper.dart类提供了eitity类的tojson和fromjson代理方法
json_convert_content.dart提供了json_convert_content.dart.fromJsonAsT方法 根据泛型来解析json成对象