I am setting up my model classes to confirm to the docs for sqflite which suggest including a named constructor to convert to/from Maps to better handling of data between th
Here I am explaining the following
All of the above questions has same answer. Dart has great support for these operations. Here I am going to illustrate it with a detailed example.
class DoctorList{
  final List doctorList;
  DoctorList({this.doctorList});
  factory DoctorList.fromMap(Map json) {
    return DoctorList(
      doctorList: json['doctorList'] != null
          ? (json['doctorList'] as List).map((i) => Doctor.fromJson(i)).toList()
          : null,
    );
  }
  Map toMap() {
    final Map data = Map();
    if (this.doctorList != null) {
      data['doctorList'] = this.doctorList.map((v) => v.toMap()).toList();
    }
    return data;
  }
}
     The above DoctorList class has a member which holds a list of 'Doctor' objects..
And see how I parsed the doctorList.
 doctorList: json['doctorList'] != null
      ? (json['doctorList'] as List).map((i) => Doctor.fromMap(i)).toList()
      : null,
You may wonder, how the Doctor class may look like. Here you go
class Doctor {
  final String doCode;
  final String doctorName;
  Doctor({this.doCode, this.doctorName});
  factory Doctor.fromMap(Map json) {
    return Doctor(
      doCode: json['doCode'],
      doctorName: json['doctorName'],
    );
  }
  Map toMap() {
    final Map data = Map();
    data['doCode'] = this.doCode;
    data['doctorName'] = this.doctorName;
    return data;
  }
}
    That's all. Hope you got the idea. Cheers!