Json自动化反序列化
- 添加第三方库依赖,修改pubspec.yaml
dependencies:
flutter:
sdk: flutter
json_annotation: ^4.7.0
dev_dependencies:
flutter_test:
sdk: flutter
build_runner: ^2.3.0
json_serializable: ^6.5.1
- 新建文件,添加类和属性,默认构造函数,类名必须使用 @JsonSerializable()
- 导入头文件,part部分必须写上
- 工程目录,使用Terminal打开,生成命令:flutter packages pub run build_runner build
import 'package:json_annotation/json_annotation.dart';
part 'common_model.g.dart';
()
class CommonModel {
final String icon;
final String title;
final String url;
final String statusBarColor;
final bool hideAppBar;
CommonModel(
this.icon, this.title, this.url, this.statusBarColor, this.hideAppBar);
factory CommonModel.fromJson(Map<String, dynamic> json) =>
_$CommonModelFromJson(json);
Map<String, dynamic> toJson() => _$CommonModelToJson(this);
}
Json to Dart在线工具
地址:https://javiercbk.github.io/json_to_dart/
参考: Json自动反序列化-json_serializable 点击跳转