flutter 复杂数据模型 转换
Posted pp-pping
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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));
以上是关于flutter 复杂数据模型 转换的主要内容,如果未能解决你的问题,请参考以下文章
iOS开发小技巧--利用MJExtension解决数据结构复杂的模型转换
如何使用 Flutter 将复杂的 JSON 数据存储到 Firebase 实时数据库中