Ash*_*lak 5 auto-generate dart android-studio flutter json-serializable
Dart 的json_serialized插件,在自动生成一些容易出错且繁琐的代码部分方面做得很好,以换取一些样板文件:两个方法、一个注释和一个对生成文件的引用。
import 'package:json_annotation/json_annotation.dart';
part 'location.g.dart';
@JsonSerializable()
class Location {
final double lat;
final double lng;
Location(this.lat, this.lng);
factory Location.fromJson(Map<String, dynamic> json) =>
_$LocationFromJson(json);
Map<String, dynamic> toJson() => _$LocationToJson(this);
}
Run Code Online (Sandbox Code Playgroud)
显然,这也最好由机器完成,就像此类的构造函数一样:我只需编写最终字段,然后按 alt+enter 键,Android Studio 就会为我放置构造函数。
有人知道如何让 Android Studio 为 json_serialized 做到这一点吗?
我终于写了这个简单的实时模板脚本。您只需输入文件名和字段列表。请参阅下面的动图。
import 'package:json_annotation/json_annotation.dart';
part '$NAME$.g.dart'
@JsonSerializable(explicitToJson: true)
class $CAP_NAME$ {
$END$
$CAP_NAME$();
factory $CAP_NAME$.fromJson(Map<String, dynamic> json) => _$$$CAP_NAME$FromJson(json);
Map<String, dynamic> toJson() => _$$$CAP_NAME$ToJson(this);
}
Run Code Online (Sandbox Code Playgroud)
好吧,在这个简单的解决方案中,现在正在生成提到的样板,这对我来说效果很好,但这确实是一种非常幼稚的方式,我没有投入太多时间来学习实时模板脚本。一项改进是让它将字段写入构造函数参数列表中,而不是手动执行。另一种方法是使用文件模板脚本(我没有研究过),并可能在对话框中创建文件和字段。
| 归档时间: |
|
| 查看次数: |
6442 次 |
| 最近记录: |