如果这2种方法,用工厂模式的一定在成员变量前加final,不然要报错了
方法一:成员变量有 final 的
class TravelTabModel {
final String url;
final List<TravelTab> tabs;
TravelTabModel({this.url,this.tabs});
factory TravelTabModel.fromJson(Map<String,dynamic> json){
String url =json['url'];
List<TravelTab> tabs = (json['tabs'] as List).map((i)=>TravelTab.fromJson(i)).toList();
return TravelTabModel(url: url,tabs: tabs );
}
}
class TravelTab {
String labelName;
String groupChannelCode;
TravelTab({this.labelName,this.groupChannelCode});
TravelTab.fromJson(Map<String,dynamic> json){
labelName =json['labelName'];
groupChannelCode = json['groupChannelCode'];
}
}
方法二:没有final 的方法。
class TravelTabModel {
String url;
List<TravelTab> tabs;
TravelTabModel({this.url,this.tabs});
TravelTabModel.fromJson(Map<String, dynamic> json){
url =json['url'];
(json['tabs'] as List).map((i) => TravelTab.fromJson(i));
}
}
class TravelTab {
String labelName;
String groupChannelCode;
TravelTab({this.labelName,this.groupChannelCode});
TravelTab.fromJson(Map<String,dynamic> json){
labelName =json['labelName'];
groupChannelCode = json['groupChannelCode'];
}
}