• 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));
  • 相关阅读:
    hdu 5015
    hdu 2276
    hdu 6197 array array array LIS
    poj 3070
    codefroce 854 A.Fraction
    sql数据库发布、订阅同步方式操作
    python排序(冒泡、直接选择、直接插入等)
    忘记mysql数据库密码时进行修改方法
    Word中图片自动编号且与文中引用的编号对应
    解决电脑本地网络连接显示红叉又可上网问题
  • 原文地址:https://www.cnblogs.com/pp-pping/p/12238001.html
Copyright © 2020-2023  润新知