json转Model类

创建model文件夹,在里面新建category.dart类

主要根据这个json来分析我们要做成类的样子

{
"code": "0",
"message": "success",
"data": [
{
"mallCategoryId": "4",
"mallCategoryName": "白酒",
"bxMallSubDto": [
{
"mallSubId": "2c9f6c94621970a801626a35cb4d0175",
"mallCategoryId": "4",
"mallSubName": "名酒",
"comments": ""
},
{
"mallSubId": "2c9f6c94621970a801626a363e5a0176",
"mallCategoryId": "4",
"mallSubName": "宝丰",
"comments": ""
},
{
"mallSubId": "2c9f6c94621970a801626a3770620177",
"mallCategoryId": "4",
"mallSubName": "北京二锅头",
"comments": ""
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cc035c15a8",
"mallCategoryId": "4",
"mallSubName": "大明",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cc2af915a9",
"mallCategoryId": "4",
"mallSubName": "杜康",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cc535115aa",
"mallCategoryId": "4",
"mallSubName": "顿丘",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cc77b215ab",
"mallCategoryId": "4",
"mallSubName": "汾酒",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cca72e15ac",
"mallCategoryId": "4",
"mallSubName": "枫林",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cccae215ad",
"mallCategoryId": "4",
"mallSubName": "高粱酒",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7ccf0d915ae",
"mallCategoryId": "4",
"mallSubName": "古井",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cd1d6715af",
"mallCategoryId": "4",
"mallSubName": "贵州大曲",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cd3f2815b0",
"mallCategoryId": "4",
"mallSubName": "国池",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cd5d3015b1",
"mallCategoryId": "4",
"mallSubName": "国窖",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cd7ced15b2",
"mallCategoryId": "4",
"mallSubName": "国台",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cd9b9015b3",
"mallCategoryId": "4",
"mallSubName": "汉酱",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cdbfd215b4",
"mallCategoryId": "4",
"mallSubName": "红星",
"comments": null
},
{
"mallSubId": "2c9f6c946891d16801689474e2a70081",
"mallCategoryId": "4",
"mallSubName": "怀庄",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cdddf815b5",
"mallCategoryId": "4",
"mallSubName": "剑南春",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cdfd4815b6",
"mallCategoryId": "4",
"mallSubName": "江小白",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb1016802277c37160e",
"mallCategoryId": "4",
"mallSubName": "金沙",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7ce207015b7",
"mallCategoryId": "4",
"mallSubName": "京宫",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7ce46d415b8",
"mallCategoryId": "4",
"mallSubName": "酒鬼",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb101680226de23160d",
"mallCategoryId": "4",
"mallSubName": "口子窖",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7ce705515b9",
"mallCategoryId": "4",
"mallSubName": "郎酒",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7ce989e15ba",
"mallCategoryId": "4",
"mallSubName": "老口子",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cec30915bb",
"mallCategoryId": "4",
"mallSubName": "龙江家园",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cef15c15bc",
"mallCategoryId": "4",
"mallSubName": "泸州",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cf156f15bd",
"mallCategoryId": "4",
"mallSubName": "鹿邑大曲",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cf425b15be",
"mallCategoryId": "4",
"mallSubName": "毛铺",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cf9dc915c0",
"mallCategoryId": "4",
"mallSubName": "绵竹",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cfbf1c15c1",
"mallCategoryId": "4",
"mallSubName": "难得糊涂",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cfdd7215c2",
"mallCategoryId": "4",
"mallSubName": "牛二爷",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7cf71e715bf",
"mallCategoryId": "4",
"mallSubName": "茅台",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7d7eda715c3",
"mallCategoryId": "4",
"mallSubName": "绵竹",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7d96e5c15c4",
"mallCategoryId": "4",
"mallSubName": "难得糊涂",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7dab93b15c5",
"mallCategoryId": "4",
"mallSubName": "牛二爷",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7dae16415c6",
"mallCategoryId": "4",
"mallSubName": "牛栏山",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7db11cb15c7",
"mallCategoryId": "4",
"mallSubName": "前门",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7db430c15c8",
"mallCategoryId": "4",
"mallSubName": "全兴",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7db6cac15c9",
"mallCategoryId": "4",
"mallSubName": "舍得",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7db9a4415ca",
"mallCategoryId": "4",
"mallSubName": "双沟",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7dc30b815cb",
"mallCategoryId": "4",
"mallSubName": "水井坊",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7dc543e15cc",
"mallCategoryId": "4",
"mallSubName": "四特",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7dc765c15cd",
"mallCategoryId": "4",
"mallSubName": "潭酒",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7dc988a15ce",
"mallCategoryId": "4",
"mallSubName": "沱牌",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7dcba5a15cf",
"mallCategoryId": "4",
"mallSubName": "五粮液",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7dcd9e815d0",
"mallCategoryId": "4",
"mallSubName": "西凤",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7dcf6d715d1",
"mallCategoryId": "4",
"mallSubName": "习酒",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7dd11b215d2",
"mallCategoryId": "4",
"mallSubName": "小白杨",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7dd2f3c15d3",
"mallCategoryId": "4",
"mallSubName": "洋河",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7dd969115d4",
"mallCategoryId": "4",
"mallSubName": "伊力特",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7ddb16c15d5",
"mallCategoryId": "4",
"mallSubName": "张弓",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7ddd6c715d6",
"mallCategoryId": "4",
"mallSubName": "中粮",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7de126815d7",
"mallCategoryId": "4",
"mallSubName": "竹叶青",
"comments": null
}
],
"comments": null,
"image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170036_4477.png"
},
{
"mallCategoryId": "1",
"mallCategoryName": "啤酒",
"bxMallSubDto": [
{
"mallSubId": "2c9f6c946016ea9b016016f79c8e0000",
"mallCategoryId": "1",
"mallSubName": "百威",
"comments": ""
},
{
"mallSubId": "2c9f6c94608ff843016095163b8c0177",
"mallCategoryId": "1",
"mallSubName": "福佳",
"comments": ""
},
{
"mallSubId": "402880e86016d1b5016016db9b290001",
"mallCategoryId": "1",
"mallSubName": "哈尔滨",
"comments": ""
},
{
"mallSubId": "402880e86016d1b5016016dbff2f0002",
"mallCategoryId": "1",
"mallSubName": "汉德",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647cd6830e0022",
"mallCategoryId": "1",
"mallSubName": "崂山",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647cd706a60023",
"mallCategoryId": "1",
"mallSubName": "林德曼",
"comments": ""
},
{
"mallSubId": "2c9f6c94679b4fb10167f7e1411b15d8",
"mallCategoryId": "1",
"mallSubName": "青岛",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7e1647215d9",
"mallCategoryId": "1",
"mallSubName": "三得利",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7e182e715da",
"mallCategoryId": "1",
"mallSubName": "乌苏",
"comments": null
},
{
"mallSubId": "2c9f6c9468118c9c016811ab16bf0001",
"mallCategoryId": "1",
"mallSubName": "雪花",
"comments": null
},
{
"mallSubId": "2c9f6c9468118c9c016811aa6f440000",
"mallCategoryId": "1",
"mallSubName": "燕京",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7e19b8f15db",
"mallCategoryId": "1",
"mallSubName": "智美",
"comments": null
}
],
"comments": null,
"image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170044_9165.png"
},
{
"mallCategoryId": "2",
"mallCategoryName": "葡萄酒",
"bxMallSubDto": [
{
"mallSubId": "2c9f6c9460337d540160337fefd60000",
"mallCategoryId": "2",
"mallSubName": "澳大利亚",
"comments": ""
},
{
"mallSubId": "402880e86016d1b5016016e083f10010",
"mallCategoryId": "2",
"mallSubName": "德国",
"comments": ""
},
{
"mallSubId": "402880e86016d1b5016016df1f92000c",
"mallCategoryId": "2",
"mallSubName": "法国",
"comments": ""
},
{
"mallSubId": "2c9f6c94621970a801626a40feac0178",
"mallCategoryId": "2",
"mallSubName": "南非",
"comments": ""
},
{
"mallSubId": "2c9f6c94679b4fb10167f7e5c9a115dc",
"mallCategoryId": "2",
"mallSubName": "葡萄牙",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7e5e68f15dd",
"mallCategoryId": "2",
"mallSubName": "西班牙",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7e609f515de",
"mallCategoryId": "2",
"mallSubName": "新西兰",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7e6286a15df",
"mallCategoryId": "2",
"mallSubName": "意大利",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7e6486615e0",
"mallCategoryId": "2",
"mallSubName": "智利",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7e66c6815e1",
"mallCategoryId": "2",
"mallSubName": "中国",
"comments": null
}
],
"comments": null,
"image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170053_878.png"
},
{
"mallCategoryId": "3",
"mallCategoryName": "清酒洋酒",
"bxMallSubDto": [
{
"mallSubId": "402880e86016d1b5016016e135440011",
"mallCategoryId": "3",
"mallSubName": "清酒",
"comments": ""
},
{
"mallSubId": "402880e86016d1b5016016e171cc0012",
"mallCategoryId": "3",
"mallSubName": "洋酒",
"comments": ""
}
],
"comments": null,
"image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170101_6957.png"
},
{
"mallCategoryId": "5",
"mallCategoryName": "保健酒",
"bxMallSubDto": [
{
"mallSubId": "2c9f6c94609a62be0160a02d1dc20021",
"mallCategoryId": "5",
"mallSubName": "黄酒",
"comments": ""
},
{
"mallSubId": "2c9f6c94648837980164883ff6980000",
"mallCategoryId": "5",
"mallSubName": "药酒",
"comments": ""
}
],
"comments": null,
"image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170110_6581.png"
},
{
"mallCategoryId": "2c9f6c946449ea7e01647ccd76a6001b",
"mallCategoryName": "预调酒",
"bxMallSubDto": [
{
"mallSubId": "2c9f6c946449ea7e01647d02f6250026",
"mallCategoryId": "2c9f6c946449ea7e01647ccd76a6001b",
"mallSubName": "果酒",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647d031bae0027",
"mallCategoryId": "2c9f6c946449ea7e01647ccd76a6001b",
"mallSubName": "鸡尾酒",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647d03428f0028",
"mallCategoryId": "2c9f6c946449ea7e01647ccd76a6001b",
"mallSubName": "米酒",
"comments": ""
}
],
"comments": null,
"image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170124_4760.png"
},
{
"mallCategoryId": "2c9f6c946449ea7e01647ccf3b97001d",
"mallCategoryName": "下酒小菜",
"bxMallSubDto": [
{
"mallSubId": "2c9f6c946449ea7e01647dc18e610035",
"mallCategoryId": "2c9f6c946449ea7e01647ccf3b97001d",
"mallSubName": "熟食",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647dc1d9070036",
"mallCategoryId": "2c9f6c946449ea7e01647ccf3b97001d",
"mallSubName": "火腿",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647dc1fc3e0037",
"mallCategoryId": "2c9f6c946449ea7e01647ccf3b97001d",
"mallSubName": "速冻食品",
"comments": ""
}
],
"comments": null,
"image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170133_4419.png"
},
{
"mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
"mallCategoryName": "饮料",
"bxMallSubDto": [
{
"mallSubId": "2c9f6c946449ea7e01647d09cbf6002d",
"mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
"mallSubName": "茶饮",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647d09f7e8002e",
"mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
"mallSubName": "水饮",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647d0a27e1002f",
"mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
"mallSubName": "功能饮料",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647d0b1d4d0030",
"mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
"mallSubName": "果汁",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647d14192b0031",
"mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
"mallSubName": "含乳饮料",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647d24d9600032",
"mallCategoryId": "2c9f6c946449ea7e01647ccdb0e0001c",
"mallSubName": "碳酸饮料",
"comments": ""
}
],
"comments": null,
"image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170143_361.png"
},
{
"mallCategoryId": "2c9f6c946449ea7e01647cd108b60020",
"mallCategoryName": "乳制品",
"bxMallSubDto": [
{
"mallSubId": "2c9f6c946449ea7e01647dd4ac8c0048",
"mallCategoryId": "2c9f6c946449ea7e01647cd108b60020",
"mallSubName": "常温纯奶",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647dd4f6a40049",
"mallCategoryId": "2c9f6c946449ea7e01647cd108b60020",
"mallSubName": "常温酸奶",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647dd51ab7004a",
"mallCategoryId": "2c9f6c946449ea7e01647cd108b60020",
"mallSubName": "低温奶",
"comments": ""
}
],
"comments": null,
"image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170151_9234.png"
},
{
"mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
"mallCategoryName": "休闲零食",
"bxMallSubDto": [
{
"mallSubId": "2c9f6c946449ea7e01647dc51d93003c",
"mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
"mallSubName": "方便食品",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647dd204dc0040",
"mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
"mallSubName": "面包糕点",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647dd22f760041",
"mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
"mallSubName": "糖果巧克力",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647dd254530042",
"mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
"mallSubName": "膨化食品",
"comments": ""
},
{
"mallSubId": "2c9f6c94679b4fb10167f7fa132b15e7",
"mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
"mallSubName": "坚果炒货",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7f4bfc415e2",
"mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
"mallSubName": "肉干豆干",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7f5027a15e3",
"mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
"mallSubName": "饼干",
"comments": null
},
{
"mallSubId": "2c9f6c94679b4fb10167f7f530fd15e4",
"mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
"mallSubName": "冲调",
"comments": null
},
{
"mallSubId": "2c9f6c94683a6b0d016846b49436003b",
"mallCategoryId": "2c9f6c946449ea7e01647ccfddb3001e",
"mallSubName": "休闲水果",
"comments": null
}
],
"comments": null,
"image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190131/20190131170200_7553.png"
},
{
"mallCategoryId": "2c9f6c946449ea7e01647cd08369001f",
"mallCategoryName": "粮油调味",
"bxMallSubDto": [
{
"mallSubId": "2c9f6c946449ea7e01647dd2e8270043",
"mallCategoryId": "2c9f6c946449ea7e01647cd08369001f",
"mallSubName": "油/粮食",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647dd31bca0044",
"mallCategoryId": "2c9f6c946449ea7e01647cd08369001f",
"mallSubName": "调味品",
"comments": ""
},
{
"mallSubId": "2c9f6c946449ea7e01647dd35a980045",
"mallCategoryId": "2c9f6c946449ea7e01647cd08369001f",
"mallSubName": "酱菜罐头",
"comments": ""
}
],
"comments": null,
"image": "http://images.baixingliangfan.cn/firstCategoryPicture/20181212/20181212115842_9733.png"
},
{
"mallCategoryId": "2c9f6c9468a85aef016925444ddb271b",
"mallCategoryName": "积分商品",
"bxMallSubDto": [ ],
"comments": null,
"image": "http://images.baixingliangfan.cn/firstCategoryPicture/20190225/20190225232703_9950.png"
}
]
}

class CategoryBigModel{
String mallCategoryId;//类别编号
String mallCategoryName;//类别名称
}

comments这个字段都是null值。

所以在创建了的时候 我们直接用null来表示

我们上面只做了一个模型类:CategoryBigModel

在json里面是有多个CategoryBigModel类的。就是一个list的数据。CategoryBigListModel

使用我们定义的model,和model的list集合

我们要输出大类的名称

输出我们的类别

快速生成我们的dart类,数据模型

https://javiercbk.github.io/json_to_dart/

把所有的json复制过来,自动生成类

最终代码

category.dart

class CategoryBigModel{
String mallCategoryId;//类别编号
String mallCategoryName;//类别名称
List<dynamic> bxMallSubDto;//不知道具体模型就用dynamic类型
Null comments;
String image; //构造方法
CategoryBigModel({
this.mallCategoryId,
this.mallCategoryName,
this.bxMallSubDto,
this.comments,
this.image
});
//工厂类的构造方法,就是我常用的实例化对象模式,好处是我们调用这个类的时候不用再使用new关键字了
//相当于java里面的多态,用起来和我们的静态方法是一样的
factory CategoryBigModel.formJson(dynamic json){
return CategoryBigModel(
mallCategoryId:json['mallCategoryId'],
mallCategoryName:json['mallCategoryName'],
bxMallSubDto:json['bxMallSubDto'],
comments:json['comments'],
image:json['image']
);
}
} //列表的model
class CategoryBigListModel{
List<CategoryBigModel> data;
CategoryBigListModel(this.data); factory CategoryBigListModel.fromJson(List json){
return CategoryBigListModel(
json.map((i)=>CategoryBigModel.formJson((i))).toList()
);
}
}

category_page.dart

import 'package:flutter/material.dart';
import '../service/service_method.dart';
import 'dart:convert';
import '../model/category.dart'; class CategoryPage extends StatefulWidget {
@override
_CategoryPageState createState() => _CategoryPageState();
} class _CategoryPageState extends State<CategoryPage> {
@override
Widget build(BuildContext context) {
_getCategory();
return Container(
child:Center(
child: Text('分类页面'),
)
);
} void _getCategory() async{
await request('getCategory').then((val){
var data=json.decode(val.toString());
//print(data);
CategoryBigListModel list= CategoryBigListModel.fromJson(data['data']);
list.data.forEach((item)=>print(item.mallCategoryName));
});
}
}

//

class CategoryBigModel{
String mallCategoryId;//类别编号
String mallCategoryName;//类别名称
List<dynamic> bxMallSubDto;//不知道具体模型就用dynamic类型
Null comments;
String image; //构造方法
CategoryBigModel({
this.mallCategoryId,
this.mallCategoryName,
this.bxMallSubDto,
this.comments,
this.image
});
//工厂类的构造方法,就是我常用的实例化对象模式,好处是我们调用这个类的时候不用再使用new关键字了
//相当于java里面的多态,用起来和我们的静态方法是一样的
factory CategoryBigModel.formJson(dynamic json){
return CategoryBigModel(
mallCategoryId:json['mallCategoryId'],
mallCategoryName:json['mallCategoryName'],
bxMallSubDto:json['bxMallSubDto'],
comments:json['comments'],
image:json['image']
);
}
} //列表的model
class CategoryBigListModel{
List<CategoryBigModel> data;
CategoryBigListModel(this.data); factory CategoryBigListModel.fromJson(List json){
return CategoryBigListModel(
json.map((i)=>CategoryBigModel.formJson((i))).toList()
);
}
}

.

Flutter移动电商实战 --(22)JSON解析和复杂数据模型转换技巧的更多相关文章

  1. Flutter实战视频-移动电商-22.JSON解析和复杂数据模型转换技巧

    22.JSON解析和复杂数据模型转换技巧 json转Model类 创建model文件夹,在里面新建category.dart类 主要根据这个json来分析我们要做成类的样子 { ", &qu ...

  2. Flutter移动电商实战 --(52)购物车_数据模型建立和Provide修改

    根据json数据生成模型类 {"goodsId":"2171c20d77c340729d5d7ebc2039c08d","goodsName" ...

  3. Flutter移动电商实战 --(10)使用FlutterSwiper制作轮播效果

    1.引入flutter_swiper插件 flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配. 好牛X得介绍,一般敢用“最”的一般都是神级大神,看到这个介绍 ...

  4. Flutter移动电商实战 --(23)分类页_左侧类别导航制作

    自动生成dart类 https://javiercbk.github.io/json_to_dart/ 生成的代码 class Autogenerated { String code; String ...

  5. Flutter移动电商实战 --(51)购物车_Provide中添加商品

    新加provide的cart.dart页面 引入三个文件.开始写provide类.provide需要用with 进行混入 从prefs里面获取到数据,判断有没有数据,如果有数据就返转正List< ...

  6. Flutter移动电商实战 --(46)详细页_自定义TabBar Widget

    主要实现详情和评论的tab provide定义变量 自己做一个tab然后用provide去控制 定义两个变量来判断是左侧选中了还是右侧选中了.并定义一个方法来接受参数,修改是左侧还是右侧选中的状态值 ...

  7. Flutter移动电商实战 --(43)详细页_补充首页跳转到详细页

    首页轮播点击到详细页 修改我们轮播这里的代码:SwiperDiy这个类这里的代码 return InkWell( onTap: (){ Application.router.navigateTo(co ...

  8. Flutter移动电商实战 --(36)FlutterToast插件使用

    https://github.com/PonnamKarthik/FlutterToast fluttertoast: ^3.0.1 category_page.dart页面添加引用 import ' ...

  9. Flutter移动电商实战 --(35)列表页_上拉加载更多制作

    右侧列表上拉加载配合类别的切换 上拉加载需要一个page参数,当点击大类或者小类的时候,这个page就要变成1 provide内定义参数 首先我们需要定义一个page的变量 下图是我们之前在首页的时候 ...

随机推荐

  1. 7.Redis的发布订阅

    Redis消息的订阅/发布 a)是什么 进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. b)命令 SUBSCRIBE订阅 PUBLISH发布 c)案例 先订阅后发布后才 ...

  2. rarcrack破解rar密码

    kail系统里没有rarcrack工具,需要先在linux安装rarcrack,安装方式如下:apt-get install rarcrack可以对设置密码的压缩包zar直接进行破解,不用字典,直接进 ...

  3. Java Socket编程----网络基础

    详见:https://www.cnblogs.com/rocomp/p/4790340.html Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而 ...

  4. Axure工作区间

    Axure的工作环境可进行可视化拖拉操作,可轻松快速的创建带有注释的线框图.无需编程就可以在线框图中定义简单链接和高级交互.Axure可一体化生成线框图.HTML交互原型.规格说明Word文档.以下是 ...

  5. Gradle 的使用

    gradle 工具类似于maven工具,但是gradle 减少了maven中的那种使用xml 中大量的配置文件来下载依赖的jar包.而gradle大大简化了,能够很快速的添加依赖.具体关于gradle ...

  6. openpose-opencv 的coco数据多人体姿态估计

    介绍 opencv除了支持常用的物体检测模型和分类模型之外,还支持openpose模型,同样是线下训练和线上调用.这里不做特别多的介绍,先把源代码和数据放出来- 实验模型获取地址:https://gi ...

  7. django考点

    django考点 1 列举Http请求中常见的请求方式2 谈谈你对HTTP协议的认识.1.1 长连接3 简述MVC模式和MVT模式4 简述Django请求生命周期5 简述什么是FBV和CBV6 谈一谈 ...

  8. Lua 学习之基础篇八<Lua 元表(Metatabble)&&继承>

    讲到元表,先看一段table的合并动作. t1 = {1,2} t2 = {3,4} t3 = t1 + t2 attempt to perform arithmetic on a table val ...

  9. 【vue】vue-cli中 对于public文件夹的处理

    pubcli和assets文件夹都是用来存储静态资源的,: [assets文件夹] 通过相对路径被引入,这类引用会被webpack处理: 比如: 会被编译成: 再比如: 会被编译成: [public文 ...

  10. Activiti服务类- RuntimeService服务类

    一共89个接口1.启动流程实例(20个方法)//使用给定的键在流程定义的最新版本中启动一个新的流程实例.ProcessInstance startProcessInstanceByKey(String ...