Flutter Json解析——json_serializable的使用

前言:Dart本身是支持反射的,但是Flutter卻沒有像Gson或者FastJson這樣優(yōu)秀的json反序列化工具。因?yàn)榉瓷湓贔lutter中是被禁止的,具體參考官方文檔介紹:https://flutter.dev/docs/development/data-and-backend/json#is-there-a-gsonjacksonmoshi-equivalent-in-flutter

image.png

現(xiàn)在介紹一種比較好用的json反序列化工具:json_serializable,使用步驟如下:

1. 在 pabspec.ymal 文件中引入:

dependencies:
  # 其他依賴包
  json_annotation: ^2.0.0

dev_dependencies:
  # 其他依賴包

  # 運(yùn)行"flutter packages pub run build_runner build",生成.g輔助文件。
  # 運(yùn)行"flutter packages pub run build_runner watch",可以實(shí)現(xiàn)文件監(jiān)聽,自動地為你后續(xù)創(chuàng)建的實(shí)體類生成對應(yīng)的解析代碼。 # 運(yùn)行"flutter packages pub run build_runner watch",生成.g輔助文件。
  build_runner: ^1.0.0
  json_serializable: ^2.0.0

2. 編寫實(shí)體類,可以使用這個(gè)網(wǎng)站快速生成想要的實(shí)體類。
可以選擇直接把文件下載下來,粘貼到項(xiàng)目中。

image.png

3. 運(yùn)行 "flutter packages pub run build_runner build" 生成 .g 后綴的文件。
然后就可以用了,可以自己選擇修改個(gè)別類名,然后自己折騰吧。

寫不是很詳細(xì),只是做個(gè)記錄,方便以后用到再看,如果有疑問歡迎留言。

最后編輯于
?著作權(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ù)。

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