Flutter移动电商实战 --(22)JSON解析和复杂数据模型转换技巧
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解析和复杂数据模型转换技巧的更多相关文章
- Flutter实战视频-移动电商-22.JSON解析和复杂数据模型转换技巧
22.JSON解析和复杂数据模型转换技巧 json转Model类 创建model文件夹,在里面新建category.dart类 主要根据这个json来分析我们要做成类的样子 { ", &qu ...
- Flutter移动电商实战 --(52)购物车_数据模型建立和Provide修改
根据json数据生成模型类 {"goodsId":"2171c20d77c340729d5d7ebc2039c08d","goodsName" ...
- Flutter移动电商实战 --(10)使用FlutterSwiper制作轮播效果
1.引入flutter_swiper插件 flutter最强大的siwiper, 多种布局方式,无限轮播,Android和IOS双端适配. 好牛X得介绍,一般敢用“最”的一般都是神级大神,看到这个介绍 ...
- Flutter移动电商实战 --(23)分类页_左侧类别导航制作
自动生成dart类 https://javiercbk.github.io/json_to_dart/ 生成的代码 class Autogenerated { String code; String ...
- Flutter移动电商实战 --(51)购物车_Provide中添加商品
新加provide的cart.dart页面 引入三个文件.开始写provide类.provide需要用with 进行混入 从prefs里面获取到数据,判断有没有数据,如果有数据就返转正List< ...
- Flutter移动电商实战 --(46)详细页_自定义TabBar Widget
主要实现详情和评论的tab provide定义变量 自己做一个tab然后用provide去控制 定义两个变量来判断是左侧选中了还是右侧选中了.并定义一个方法来接受参数,修改是左侧还是右侧选中的状态值 ...
- Flutter移动电商实战 --(43)详细页_补充首页跳转到详细页
首页轮播点击到详细页 修改我们轮播这里的代码:SwiperDiy这个类这里的代码 return InkWell( onTap: (){ Application.router.navigateTo(co ...
- Flutter移动电商实战 --(36)FlutterToast插件使用
https://github.com/PonnamKarthik/FlutterToast fluttertoast: ^3.0.1 category_page.dart页面添加引用 import ' ...
- Flutter移动电商实战 --(35)列表页_上拉加载更多制作
右侧列表上拉加载配合类别的切换 上拉加载需要一个page参数,当点击大类或者小类的时候,这个page就要变成1 provide内定义参数 首先我们需要定义一个page的变量 下图是我们之前在首页的时候 ...
随机推荐
- RAII Theory && auto_ptr
RAII(Resource Acquisition is Initialization),也称为"资源获取即初始化",是C++语言的一种管理资源,避免泄露的惯用法. C++标准保证 ...
- bash shell的ANSI控制
格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \03 ...
- jquery操作select下拉框:取值,赋值,删除
1.jQuery对select的取值 <select id="test"> <option value ="1">测试1</opt ...
- xshell生成公钥和私钥
一.打开你的xshell工具,工具栏有一个工具选项,点开选择新建用户密钥生成向导(如下图所示) 二. 点开之后就会如上图所示一样,点击选择下一步,出现如下,再点击下一步 点击完下一步会出现如下图所示 ...
- 操作系统 (OS)
1. 操作系统(Operation System,OS) 操作系统作为接口的示意图 没有安装操作系统的计算机,通常被称为 裸机 如果想在 裸机 上运行自己所编写的程序,就必须用机器语言书写程序 如果计 ...
- python采集websocket实时数据
之前大部分的数据采集基本都是http的,也一直对如何采集websocket的实时数据有疑问,不知道入从哪里入手,一筹莫展,今天在知乎上看到了一篇采集websocket的文章,讲的很透彻 终于把这个疑问 ...
- shell code
- C C++输出格式 <转载>仅用于个人
转载链接:C++ C C语言输出格式总结 1 一般格式 printf(格式控制,输出表列) 例如:printf("i=%d,ch=%c\n",i,ch); 说明: ...
- SQL SERVER 查询第20行到30之间的数据
1.先查询前20行的ID,后查询除去20条记录的前10条记录 SELECT TOP * FROM tbBank WHERE BankID NOT IN(SELECT TOP BankID FROM t ...
- Python进阶:都说好用的 Python 命令行库click
click 是一个以尽可能少的代码.以组合的方式创建优美的命令行程序的 Python 包.它有很高的可配置性,同时也能开箱即用. 它旨在让编写命令行工具的过程既快速又有趣,还能防止由于无法实现预期的 ...