这是关于Dart中Flutter应用程序中的最佳实践的一般化问题。
考虑一下我有一个基本模型。
class Person {
String fname;
String lname;
String phone;
...
}
这个类有很多其他公共和私有属性,但它们都来自这三个公共属性。我想将List {Person}保存到文件中,但我只需要为每个Person存储这三个公共属性。
我的一个想法是创建一个转换类,它接受一个Person并创建一个更简单的类,它只有三个属性,这些属性被持久化到文件中。相同的Convert类将采用相同的更简单的类并创建Person类。
这是最好的方法吗?
是否碰巧有一个框架为我做这个?
使用JSON。将toJson
添加到您的班级。
class Person {
String fname;
String lname;
String phone;
Map<String, dynamic> toJson() => {'fname': fname, 'lname': lname', ... };
}
然后你可以使用jsonEncode
来获得一个字符串。
我们有一些软件包可以更容易地创建toJson / fromJson位。见https://pub.dartlang.org/packages/json_serializable