Flutter Json解析——json_serializable的使用

前言:Dart本身是支持反射的,但是Flutter却没有像Gson或者FastJson这样优秀的json反序列化工具。因为反射在Flutter中是被禁止的,具体参考官方文档介绍:https://flutter.dev/docs/development/data-and-backend/json#is-there-a-gsonjacksonmoshi-equivalent-in-flutter

image.png

现在介绍一种比较好用的json反序列化工具:json_serializable,使用步骤如下:

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

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

dev_dependencies:
  # 其他依赖包

  # 运行"flutter packages pub run build_runner build",生成.g辅助文件。
  # 运行"flutter packages pub run build_runner watch",可以实现文件监听,自动地为你后续创建的实体类生成对应的解析代码。 # 运行"flutter packages pub run build_runner watch",生成.g辅助文件。
  build_runner: ^1.0.0
  json_serializable: ^2.0.0

2. 编写实体类,可以使用这个网站快速生成想要的实体类。
可以选择直接把文件下载下来,粘贴到项目中。

image.png

3. 运行 "flutter packages pub run build_runner build" 生成 .g 后缀的文件。
然后就可以用了,可以自己选择修改个别类名,然后自己折腾吧。

写不是很详细,只是做个记录,方便以后用到再看,如果有疑问欢迎留言。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。