因此,在尝试使用json_serializable库后,我想出了自己的解决方案,它根本不需要任何外部库,并且像一个魅力一样工作。这样,我必须编写更少的样板代码,我认为这是一种干净的方法。
这是制作模型的方法
class SideMenuRes {final int status;final String message;final List<SideMenuDatum> sideMenuData;SideMenuRes({this.status, this.message, this.sideMenuData});factory SideMenuRes.fromJson(Map json) { return SideMenuRes( status: json['status'], message: json['message'], sideMenudata: json['status'] == 200 ? (json['data'] as List).map((i) => new SideMenuDatum.fromJson(i)).toList() : null, );}}class SideMenuDatum {final Menu menu;SideMenuDatum({this.menu});factory SideMenuDatum.fromJson(Map json) { return SideMenuDatum( menu: Menu.fromJson(json['menu']), );}}class Menu {final String megamenu_id;final String language_id;final String title;final String description;final List<SubMenu> subMenu;Menu({this.megamenu_id, this.language_id, this.title, this.description, this.subMenu});factory Menu.fromJson(Map json) { return Menu( megamenu_id: json['megamenu_id'], language_id: json['language_id'], title: json['title'], description: json['description'], subMenu: json['submenu'] != null ? (json['submenu'] as List).map((i) => new SubMenu.fromJson(i)).toList() : null );}}class SubMenu {final Zero zero;final List<SubSubMenu> subSubMenu;SubMenu({this.zero, this.subSubMenu});factory SubMenu.fromJson(Map json) { return SubMenu( zero: Zero.fromJson(json['0']), subSubMenu: (json['subsubmenu'] as List).map((i) => new SubSubMenu.fromJson(i)).toList() );}}class Zero {final Info info;Zero({this.info});factory Zero.fromJson(Map json) { return Zero( info: Info.fromJson(json['info']), ); } }class SubSubMenu {final InfoSub infoSub;SubSubMenu({this.infoSub});factory SubSubMenu.fromJson(Map json) { return SubSubMenu( infoSub: InfoSub.fromJson(json['infosub']) );}}class InfoSub {final String megamenu_id;final String language_id;final String title;final String description;InfoSub({this.megamenu_id, this.language_id, this.title, this.description});factory InfoSub.fromJson(Map json) {return InfoSub( megamenu_id: json['megamenu_id'], language_id: json['language_id'], title: json['title'], description: json['description'] ); }}class Info { final String megamenu_id; final String language_id;final String title;final String description;Info({this.megamenu_id, this.language_id, this.title, this.description});factory Info.fromJson(Map json) {return Info( megamenu_id: json['megamenu_id'], language_id: json['language_id'], title: json['title'], description: json['description'] ); }}并这样称呼它
SubMenuRes subMenuRes = SubMenuRes.fromJson(response.data);
而已!



