必须依赖
dependencies:
json_annotation: ^4.0.1
dev_dependencies:
build_runner: ^2.1.1
json_serializable: ^4.1.3
千万别把dev_dependencies里面的依赖写到了dependencies里面,没有效果
import 'package:json_annotation/json_annotation.dart';
part 'User.g.dart'; //必须跟类名、文件名一致,否则执行命令后不会生成文件
@JsonSerializable()
class User {
int age;
String name;
User(this.age, this.name);
//User({requried this.age, requried this.name}); //网上看到有朋友说这样的写法不行, 经实验其实是可以的
factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
Map<String, dynamic> toJson() => _$UserToJson(this);
}
然后到项目目录下执行命令:
flutter packages pub run build_runner build
// 或者
flutter packages pub run build_runner watch
详情操作请参考:https://flutterchina.club/json/
此处只记录些初次使用过程中遇到的问题
注意: 上文中所有的User都必须是区分大小写的,包括文件名