由于Flutter禁用運(yùn)行時(shí)反射,所以在Flutter中是沒(méi)有GSON,Jackson這類解析JSON的庫(kù)。官方解釋運(yùn)行時(shí)反射會(huì)干擾Dart的_tree shaking_。使用_tree shaking_我們可以在發(fā)版時(shí)去除未使用的代碼。這可以顯著優(yōu)化應(yīng)用程序的大小。
由于反射會(huì)默認(rèn)使用所有代碼,因此_tree shaking_會(huì)很難工作。這些工具無(wú)法知道哪些widget在運(yùn)行時(shí)未被使用,因此冗余代碼很難剝離。使用反射時(shí),應(yīng)用尺寸無(wú)法輕松的進(jìn)行優(yōu)化。
所以只有自己寫數(shù)據(jù)模型 列如
json 轉(zhuǎn)模型

模型轉(zhuǎn)json

如果后臺(tái)字段比較多 一個(gè)列表 這樣一個(gè)一個(gè)寫 很容易出錯(cuò)
ios runtime一句話就能搞定??
dart 這個(gè)實(shí)在有些蛋疼? 嘗試著寫了一個(gè)用戶模型和一個(gè)設(shè)備列表模型 眼睛都花了。。 對(duì)于一個(gè)新手來(lái)說(shuō) 這個(gè)是一個(gè)體力活
所以 就去找插件? 。。。。。。
好東西來(lái)了
FlutterJsonBeanFactory
這個(gè)是個(gè)好東西啊 你只要傳入一個(gè)json 自動(dòng)給你生成一個(gè)model(entity) 需要的字段比如判空也自動(dòng)幫你解析 眼前一亮
but....
我用的是mac電腦的vscode 開(kāi)發(fā) vscode 沒(méi)有此插件 不支持此功能
所以 怎么辦 、
你說(shuō)? ?當(dāng)然是下載一個(gè)IDEA開(kāi)發(fā)工具了?
折騰了一個(gè)晚上??

看自動(dòng)生成的實(shí)體? 實(shí)體輔助類? 還有一個(gè)和網(wǎng)絡(luò)請(qǐng)求相關(guān)的類+mvp 模式 網(wǎng)絡(luò)請(qǐng)求? 簡(jiǎn)直美滋滋!