Flutter 學習(九)json_serializable 自動反序列化

json_serializable 自動反序列化

序言

眾所周知flutter中提供了JSON 轉(zhuǎn) Map的方法,而反序列化是需要手寫的;在項目中一般都會有字段比較多的情況,例如用戶信息表字段是比較多的,在這樣的情況下手動反序列化是比較費事的,而且容易出錯。這個時候呢Flutter團隊給我們推薦了json_serializable,下面我們就介紹一下使用方法。

第一步 集成插件

注意:

build_runner: ^1.1.3 //用于生成代碼

json_serializable: ^2.0.2

這兩個插件是開發(fā)使用,所以放在dev這里。

第二步 創(chuàng)建model

為了更便捷 的使用json_serializable庫,我們使用這位大牛提供的生成插件生成代碼:

List item

類名稱可修改為自己使用的類名稱。

將右側(cè)的代碼復制到自己項目中(在自己項目中先創(chuàng)建 xxx.dart文件)。

復制進去的代碼會報錯,先忽略掉。

第三步 生成文件

打開cmd 切換到項目根目錄下運行:

flutter packages pub run build_runner watch

等待命令運行完畢之后,項目目錄下會生成xxx.g.dart文件:

第四步 調(diào)用

在需要使用的文件中引入:

import “user.dart”

然后調(diào)用 fromJson方法:

_userInfo = UserInfo.fromJson(jsonDecode(user));

最后就可以隨心所欲的通過_userInfo.xxx獲取值了。

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

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

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