zoukankan      html  css  js  c++  java
  • flutter 复杂数据模型 转换

    json 格式网址:http://www.bejson.com

    json转dart工具网址:https://javiercbk.github.io/json_to_dart/

    代码:

    class CategoryItemModel {
    String mallCategoryId;
    String mallCategoryName;
    List<BxMallSubDto> bxMallSubDto;
    Null comments;
    String image;
    //构造函数
    CategoryItemModel({
    this.mallCategoryId,
    this.mallCategoryName,
    this.bxMallSubDto,
    this.comments,
    this.image
    });

    CategoryItemModel.fromJson(Map<String,dynamic>json){
    mallCategoryId = json['mallCategoryId'];
    mallCategoryName = json['mallCategoryName'];
    if (json['bxMallSubDto'] != null) {
    bxMallSubDto = new List<BxMallSubDto>();
    json['bxMallSubDto'].forEach((i){
    bxMallSubDto.add(new BxMallSubDto.fromJson(i));
    });
    }
     
    comments = json['comments'];
    image = json['image'];
    }
    // factory CategoryItemModel.fromJson(dynamic json){
    // return CategoryItemModel(
    // mallCategoryId:json['mallCategoryId'],
    // mallCategoryName:json['mallCategoryName'],
    // bxMallSubDto:json['bxMallSubDto'],
    // comments:json['comments'],
    // image:json['image']

    // );
    // }
    }

    class CategoryListModel {
    List<CategoryItemModel> data;
    CategoryListModel(this.data);

    CategoryListModel.fromJson(Map<String,dynamic> json){
    if (json['data'] != null) {
    data = new List<CategoryItemModel>();
    json['data'].forEach((v){
    data.add(new CategoryItemModel.fromJson(v));
    });
     
    }
    }

    // factory CategoryListModel.fromJson(List json){
    // return CategoryListModel(
    // json.map((i)=>CategoryItemModel.fromJson((i))).toList()
    // );
    // }
    }

    class BxMallSubDto {
    String mallSubId;
    String mallCategoryId;
    String mallSubName;
    String comments;

    BxMallSubDto(
    {this.mallSubId, this.mallCategoryId, this.mallSubName, this.comments});

    BxMallSubDto.fromJson(Map<String, dynamic> json) {
    mallSubId = json['mallSubId'];
    mallCategoryId = json['mallCategoryId'];
    mallSubName = json['mallSubName'];
    comments = json['comments'];
    }

    // Map<String, dynamic> toJson() {
    // final Map<String, dynamic> data = new Map<String, dynamic>();
    // data['mallSubId'] = this.mallSubId;
    // data['mallCategoryId'] = this.mallCategoryId;
    // data['mallSubName'] = this.mallSubName;
    // data['comments'] = this.comments;
    // return data;
    // }
    }
    使用代码:
    var data = json.decode(val);
    CategoryListModel categoryListModel = CategoryListModel.fromJson(data);
    categoryListModel.data.forEach((item)=>print(item.mallCategoryName));
  • 相关阅读:
    Spring实践第三天 (SpringDI:依赖注入)
    单例模式(Singleton)
    Spring IOC 及 Spring 中Bean的三种创建方式
    Spring实践第二天(创建对象的三种基本方式)
    ORA-28374: typed master key not found in wallet
    Unable open dabase as spfile parameter incorrect
    【java/C# 服务器】IOS 配置推送证书 p12文件流程
    第一贱-UILabel
    iOS开发系列--让你的应用“动”起来
    AFNetworking 使用总结
  • 原文地址:https://www.cnblogs.com/pp-pping/p/12238001.html
Copyright © 2011-2022 走看看