import 'dart:convert'; T? asT(dynamic value) { if (value is T) { return value; } return null; } class ComicSpecialDetailModel { ComicSpecialDetailModel({ required this.mobileHeaderPic, required this.title, required this.pageUrl, required this.description, required this.comics, required this.commentAmount, }); factory ComicSpecialDetailModel.fromJson(Map json) { final List? comics = json['comics'] is List ? [] : null; if (comics != null) { for (final dynamic item in json['comics']!) { if (item != null) { comics.add(ComicSpecialComicModel.fromJson( asT>(item)!)); } } } return ComicSpecialDetailModel( mobileHeaderPic: asT(json['mobile_header_pic'])!, title: asT(json['title'])!, pageUrl: asT(json['page_url'])!, description: asT(json['description'])!, comics: comics!, commentAmount: asT(json['comment_amount'])!, ); } String mobileHeaderPic; String title; String pageUrl; String description; List comics; int commentAmount; @override String toString() { return jsonEncode(this); } Map toJson() => { 'mobile_header_pic': mobileHeaderPic, 'title': title, 'page_url': pageUrl, 'description': description, 'comics': comics, 'comment_amount': commentAmount, }; } class ComicSpecialComicModel { ComicSpecialComicModel({ required this.cover, required this.recommendBrief, required this.recommendReason, required this.id, required this.name, required this.aliasName, }); factory ComicSpecialComicModel.fromJson(Map json) => ComicSpecialComicModel( cover: asT(json['cover']) ?? "", recommendBrief: asT(json['recommend_brief']) ?? "", recommendReason: asT(json['recommend_reason']) ?? "", id: asT(json['id'])!, name: asT(json['name']) ?? "", aliasName: asT(json['alias_name']) ?? "", ); String cover; String recommendBrief; String recommendReason; int id; String name; String aliasName; @override String toString() { return jsonEncode(this); } Map toJson() => { 'cover': cover, 'recommend_brief': recommendBrief, 'recommend_reason': recommendReason, 'id': id, 'name': name, 'alias_name': aliasName, }; }