方法一、使用json_annotation
+ json_serializable
+ build_runner
官方推荐
优点:能实时同步字段名改变,修改一个地方,其他地方同步改变
- 添加依赖
json_annotation
、json_serializable
、build_runner
,注意后两个在dev_dependencies
下,不要写错。
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2 # iOS风格图标
json_annotation: ^2.4.0 # json注解
dev_dependencies:
flutter_test:
sdk: flutter
# json序列化反序列化
# 配合工具:https://caijinglong.github.io/json2dart/index_ch.html
json_serializable: ^3.0.0
# 生成Dart代码文件
# 配合使用命令:flutter packages pub run build_runner build
# 配合使用命令:flutter packages pub run build_runner watch
build_runner: ^1.4.0
- 打开网页
https://caijinglong.github.io/json2dart/index_ch.html
,粘贴JSON,选择v1.xxx,填写类名称,自动生成代码。项目创建对应名称user.dart
,粘贴代码。
WX20190528-152040@2x.png - 运行
builder_runner
一次运行命令:flutter packages pub run build_runner build
实时监控改变自动修改命令:flutter packages pub run build_runner watch
(ctrl+c停止运行) - 项目中同目录下会生成一个
user.g.dart
文件
方法二、使用Android Studio的插件:FlutterJsonBeanFactory
缺点:不如上面的方便,不会自动同步字段名的改变,修改起来麻烦
1.Plugins
搜索FlutterJsonBeanFactory
,安装。
- 先选中要创建bean的目录,选择
File - New - dart bean class file from json
。
WX20190528-151438@2x.png -
填写bean的名称,粘贴进json,生成。
WX20190528-152040@2x.png -
如下
WX20190528-152201@2x.png