Very Important!
{"107年工作":{"zhangqi":[{"name":"王大明1"},{"name":"孫小明1"}],"chaojiangeren":[{"name":"nnn1","addr":"aaa1"},{"name":"nnn2","addr":"aaa2"}]},"108年法會":{"zhangqi":[{"name":"王大明1"},{"name":"孫小明1"}]}} zhangqi : [ …. ]
chaojiangeren: [ …. ]
zhangqi : [ {….}, {….} ]
chaojiangeren: [ {….}, {….} ]
Can’t have \’ or \" If have this, json.decode can’t List List => List
List => List
List<ItemName> zhangqi = List<ItemName>(); zhangqi.add(new ItemName(name:"王大明1")); zhangqi.add(new ItemName(name:"孫小明1")); List<ItemNameAddr> chaojiangeren = List<ItemNameAddr>(); chaojiangeren.add(new ItemNameAddr(name:"nnn1", addr:"aaa1")); chaojiangeren.add(new ItemNameAddr(name:"nnn2", addr:"aaa2")); class ItemName { String name; ItemName({ this.name }) ; ItemName.fromJson(Map<String, dynamic> json) : name = json['name']; Map toJson() => {"name": name }; //給json.encode使用,沒有的話,會錯誤 } class ItemNameAddr { String name; String addr; ItemNameAddr({ this.name, this.addr }) ; ItemNameAddr.fromJson(Map<String, dynamic> json) : name = json['name'], addr = json['addr']; Map toJson() => {"name": name, "addr": addr}; //給json.encode使用,沒有的話,會錯誤 } Future<List<ItemName>> getListItemName(List maps) async { return new List<ItemName>.generate(maps.length, (i) { return ItemName( name: maps[i]['name'], ); }); } Future<List<ItemNameAddr>> getListItemNameAddr(List maps) async { return new List<ItemNameAddr>.generate(maps.length, (i) { return ItemNameAddr( name: maps[i]['name'], addr: maps[i]['addr'], ); }); }