Flutter中JSON數據到模型 複雜數據模型解析 模型嵌套

  1. 基本數據模型類
class BaseModel {
  String id;
  double createdTime;
  double updatedTime;

  BaseModel(this.id, this.createdTime, this.updatedTime) : super();

  BaseModel.fromJson(Map<String, dynamic> json)
      : id = json['id'],
        createdTime = json['createdTime'],
        updatedTime = json['updatedTime'];

  Map<String, dynamic> toJson() =>
      {
        'id': id,
        'createdTime': createdTime,
        'updatedTime': updatedTime,
      };
}
  1. 具體數據模型(包括自模型解析和模型嵌套toJson)
import '../base/BaseModel.dart';

class FolderModel extends BaseModel {
  final String userId;
  final String name;
  final int level;
  final int status;
  final String fatherFolderId;
  final List<FolderModel> children;

  FolderModel.fromJson(Map<String, dynamic> json)
  : userId = json['userId'],
        name = json['name'],
        level = json['level'],
        status = json['status'],
        fatherFolderId = json['fatherFolderId'],
        children = json['children'] == null ? null : json['children'].forEach((data) {
          return FolderModel.fromJson(data);
        }), super.fromJson(json);



   @override
  Map<String, dynamic> toJson() {
    // TODO: implement toJson
     super.toJson();
     final Map<String, dynamic> dataJson = new Map();

     dataJson['userId'] = this.userId;
     dataJson['name'] = this.name;
     dataJson['level'] = this.level;
     dataJson['status'] = this.status;
     dataJson['fatherFolderId'] = this.fatherFolderId;
     if (this.children != null) {
       dataJson['children'] = this.children.map((data) => data.toJson()).toList();
     }

     return dataJson;
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章