将模型对象列表保存到文件的最佳方法

问题描述 投票:1回答:1

这是关于Dart中Flutter应用程序中的最佳实践的一般化问题。

考虑一下我有一个基本模型。

class Person {
  String fname;
  String lname;
  String phone;
  
  ...
  
}

这个类有很多其他公共和私有属性,但它们都来自这三个公共属性。我想将List {Person}保存到文件中,但我只需要为每个Person存储这三个公共属性。

我的一个想法是创建一个转换类,它接受一个Person并创建一个更简单的类,它只有三个属性,这些属性被持久化到文件中。相同的Convert类将采用相同的更简单的类并创建Person类。

这是最好的方法吗?

是否碰巧有一个框架为我做这个?

dart
1个回答
1
投票

使用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

© www.soinside.com 2019 - 2024. All rights reserved.