import 'dart:convert'; T? asT(dynamic value) { if (value is T) { return value; } return null; } class ComicAuthorModel { ComicAuthorModel({ required this.nickname, this.description, required this.cover, required this.data, }); factory ComicAuthorModel.fromJson(Map json) { final List? data = json['data'] is List ? [] : null; if (data != null) { for (final dynamic item in json['data']!) { if (item != null) { data.add( ComicAuthorComicModel.fromJson(asT>(item)!)); } } } return ComicAuthorModel( nickname: asT(json['nickname'])!, description: asT(json['description']) ?? "", cover: asT(json['cover'])!, data: data!, ); } String nickname; String? description; String cover; List data; @override String toString() { return jsonEncode(this); } Map toJson() => { 'nickname': nickname, 'description': description, 'cover': cover, 'data': data, }; } class ComicAuthorComicModel { ComicAuthorComicModel({ required this.id, required this.name, required this.cover, required this.status, }); factory ComicAuthorComicModel.fromJson(Map json) => ComicAuthorComicModel( id: asT(json['id'])!, name: asT(json['name'])!, cover: asT(json['cover'])!, status: asT(json['status'])!, ); int id; String name; String cover; String status; @override String toString() { return jsonEncode(this); } Map toJson() => { 'id': id, 'name': name, 'cover': cover, 'status': status, }; }