栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将JSON转换为类似于Flutter中的android的POJO(对象)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将JSON转换为类似于Flutter中的android的POJO(对象)

因此,在尝试使用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);

而已!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/595099.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号