FlutterJsonBeanFactory插件json使用

FlutterJsonBeanFactory是用來生成dart的json實(shí)體類和根據(jù)配置生成factory的idea全家桶的插件.

首先必須添加 intl: any 到 pubspec.yaml

對比其他插件優(yōu)勢

①:可以自定義后臺返回值,datetime解析格式,是否參與解析和被解析

使用注解@JSONField


image.png

其中name: "list"的list就是后臺返回字段名稱,deserialize(默認(rèn)true)是否參與fromJson解析,serialize(默認(rèn)true)是否參與tojson,

②:可以解析完整字段json

比如包含如下json


image.png

可以解析出來list中map的所有字段,并且每個list的map字段不同或者為null問題有會做出處理


image.png

③可以自動生成helper文件,后期修改or添加entity中的字段,只需一個快捷鍵(alt+j)就可以重新生成文件,并且會刪除多余文件.

image.png

helper文件內(nèi)容


image.png

④自動生成JsonConvert方便配合網(wǎng)絡(luò)請求封裝進(jìn)行泛型處理

直接傳遞上面生成的entity就可以自動根據(jù)map解析出對應(yīng)實(shí)例,并自動賦值


image.png

⑤使用gif圖

beantojson_factory.gif

⑥如果你不想在項(xiàng)目中使用該插件,那么可以在pubspec.yaml配置,當(dāng)然需要改成enable為false

image.png

網(wǎng)絡(luò)請求實(shí)例


image.png

dio請求部分


image.png

安裝插件

7BDB7CCB-708F-4EFD-8BEF-00ED55BA0AA8.png

安裝完后重啟ide,會發(fā)現(xiàn)tools里多了FlutterJsonBeanFactory一個選項(xiàng)

image.png

在對應(yīng)目錄右鍵new,會有個dart bean class file from json,點(diǎn)擊這個選項(xiàng)

image.png

彈出一個輸入類名和和json串的彈框,例:填入類型abc和json串

04F2D0C3-F815-4A24-B949-8E0E9D400031.png

點(diǎn)擊make按鈕會生成a_b_c_entity.dart文件

88E5E9B4-17F8-4973-B172-53CB1398AEC0.png

這些操作完成后自動生成如下文件


A5E6FF53-59EE-474C-B3FA-D87665C7191D.png

@JSONField作用在Field時(shí),其name不僅定義了輸入key的名稱,為了防止后臺返回?cái)?shù)據(jù)不規(guī)范,但是flutter端需要按照駝峰命名
a_b_c_entity_helper.dart類提供了eitity類的tojson和fromjson代理方法
json_convert_content.dart提供了json_convert_content.dart.fromJsonAsT方法 根據(jù)泛型來解析json成對象

下一篇(網(wǎng)絡(luò)類使用)地址,覺得有用,可以給點(diǎn)個喜歡

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容