flutter 复杂数据模型 转换

json 格式网址:http://www.bejson.com

json转dart工具网址:https://javiercbk.github.io/json_to_dart/

代码:

class CategoryItemModel {
String mallCategoryId;
String mallCategoryName;
List<BxMallSubDto> bxMallSubDto;
Null comments;
String image;
//构造函数
CategoryItemModel({
this.mallCategoryId,
this.mallCategoryName,
this.bxMallSubDto,
this.comments,
this.image
});

CategoryItemModel.fromJson(Map<String,dynamic>json){
mallCategoryId = json['mallCategoryId'];
mallCategoryName = json['mallCategoryName'];
if (json['bxMallSubDto'] != null) {
bxMallSubDto = new List<BxMallSubDto>();
json['bxMallSubDto'].forEach((i){
bxMallSubDto.add(new BxMallSubDto.fromJson(i));
});
}
 
comments = json['comments'];
image = json['image'];
}
// factory CategoryItemModel.fromJson(dynamic json){
// return CategoryItemModel(
// mallCategoryId:json['mallCategoryId'],
// mallCategoryName:json['mallCategoryName'],
// bxMallSubDto:json['bxMallSubDto'],
// comments:json['comments'],
// image:json['image']

// );
// }
}

class CategoryListModel {
List<CategoryItemModel> data;
CategoryListModel(this.data);

CategoryListModel.fromJson(Map<String,dynamic> json){
if (json['data'] != null) {
data = new List<CategoryItemModel>();
json['data'].forEach((v){
data.add(new CategoryItemModel.fromJson(v));
});
 
}
}

// factory CategoryListModel.fromJson(List json){
// return CategoryListModel(
// json.map((i)=>CategoryItemModel.fromJson((i))).toList()
// );
// }
}

class BxMallSubDto {
String mallSubId;
String mallCategoryId;
String mallSubName;
String comments;

BxMallSubDto(
{this.mallSubId, this.mallCategoryId, this.mallSubName, this.comments});

BxMallSubDto.fromJson(Map<String, dynamic> json) {
mallSubId = json['mallSubId'];
mallCategoryId = json['mallCategoryId'];
mallSubName = json['mallSubName'];
comments = json['comments'];
}

// Map<String, dynamic> toJson() {
// final Map<String, dynamic> data = new Map<String, dynamic>();
// data['mallSubId'] = this.mallSubId;
// data['mallCategoryId'] = this.mallCategoryId;
// data['mallSubName'] = this.mallSubName;
// data['comments'] = this.comments;
// return data;
// }
}
使用代码:
var data = json.decode(val);
CategoryListModel categoryListModel = CategoryListModel.fromJson(data);
categoryListModel.data.forEach((item)=>print(item.mallCategoryName));

猜你喜欢

转载自www.cnblogs.com/pp-pping/p/12238001.html
今日推荐