import 'package:initial_folder/models/rating_course_model.dart'; // To parse this JSON data, do // // final detailCourseModel = detailCourseModelFromJson(jsonString); import 'dart:convert'; DetailCourseModel detailCourseModelFromJson(String str) => DetailCourseModel.fromJson(json.decode(str)); String detailCourseModelToJson(DetailCourseModel data) => json.encode(data.toJson()); class DetailCourseModel { DetailCourseModel({ this.status, this.error, required this.data, }); final int? status; final bool? error; final List> data; factory DetailCourseModel.fromJson(Map json) => DetailCourseModel( status: json["status"], error: json["error"], data: List>.from(json["data"].map((x) => List.from( x.map((x) => DataDetailCourseModel.fromJson(x))))), ); Map toJson() => { "status": status, "error": error, "data": List.from( data.map((x) => List.from(x.map((x) => x.toJson())))), }; } class DataDetailCourseModel { DataDetailCourseModel( {required this.id, this.title, this.instructorId, this.instructor, this.shortDescription, this.levelCourse, this.totalLesson, this.totalStudents, this.description, this.outcome, this.requirement, this.price, this.discountPrice, this.discountFlag, this.videoUrl, this.totalDuration, this.bio, required this.rating, this.totalDiscount, this.lastModified, this.fotoProfile, this.thumbnail, this.isFreeCourse, this.isMine, required this.breadcrumbs, this.headlineInstructor, this.status_course, this.checkoutPrice, this.typeCoupon, this.value, this.courseName, this.originalPrice, this.finalPrice, this.promoPrice}); final String id; final String? title; final String? instructorId; final String? instructor; final String? shortDescription; final String? levelCourse; final String? totalLesson; final String? totalStudents; final String? description; final String? outcome; final String? requirement; final String? price; final String? discountPrice; final String? discountFlag; final String? videoUrl; final String? totalDuration; final String? bio; final List rating; final int? totalDiscount; final String? lastModified; final dynamic fotoProfile; final String? thumbnail; final String? isFreeCourse; final dynamic isMine; final Breadcrumbs breadcrumbs; final String? status_course; final String? headlineInstructor; final String? typeCoupon; final String? value; final String? courseName; final String? originalPrice; final String? finalPrice; final int? checkoutPrice; final String? promoPrice; factory DataDetailCourseModel.fromJson(Map json) => DataDetailCourseModel( id: json["id"], title: json["title"], instructorId: json["instructor_id"], instructor: json["instructor"], shortDescription: json["short_description"], levelCourse: json["level_course"], totalLesson: json["total_lesson"], totalStudents: json["total_students"], description: json["description"] == null ? '' : json["description"], outcome: json["outcome"] == "[]" ? '' : json["outcome"], requirement: json["requirement"], price: json["price"].toString(), discountPrice: json["discount_price"].toString() != "0" ? json["discount_price"].toString() : "0", discountFlag: json["discount_flag"], videoUrl: json["video_url"], totalDuration: json["total_duration"], bio: json["bio"], rating: List.from(json["rating"].map((x) => Rating.fromJson(x))), totalDiscount: json["total_discount"], lastModified: json["last_modified"], fotoProfile: json["foto_profile"], thumbnail: json["thumbnail"], isFreeCourse: json["is_free_course"], isMine: json["is_mine"], breadcrumbs: Breadcrumbs.fromJson(json["breadcrumbs"]), headlineInstructor: json['headline'], status_course: json["status_course"], checkoutPrice: json["checkout_price"], typeCoupon: json["type_coupon"], value: json["value"], courseName: json["course_name"], originalPrice: json["original_price"], finalPrice: json["final_price"], promoPrice: json["promo_price"].toString() != '0' ? json["promo_price"].toString() : json["promo_price"].toString(), ); Map toJson() => { "id": id, "title": title, "instructor_id": instructorId, "instructor": instructor, "short_description": shortDescription, "level_course": levelCourse, "total_lesson": totalLesson, "total_students": totalStudents, "description": description, "outcome": outcome, "requirement": requirement, "price": price, "discount_price": discountPrice, "discount_flag": discountFlag, "video_url": videoUrl, "total_duration": totalDuration, "bio": bio, "rating": List.from(rating.map((x) => x.toJson())), "total_discount": totalDiscount, "last_modified": lastModified, "foto_profile": fotoProfile, "thumbnail": thumbnail, "is_free_course": isFreeCourse, "is_mine": isMine, "breadcrumbs": breadcrumbs.toJson(), "checkout_price": checkoutPrice, "type_coupon": typeCoupon, "value": value, "course_name": courseName, "original_price": originalPrice, "final_price": finalPrice, "promo_price": promoPrice, }; } class Breadcrumbs { Breadcrumbs({ this.idCategory, this.parentName, this.subCategoryId, this.subParentCategory, }); final String? idCategory; final String? parentName; final String? subCategoryId; final String? subParentCategory; factory Breadcrumbs.fromJson(Map json) => Breadcrumbs( idCategory: json["id_category"], parentName: json["parent_name"], subCategoryId: json["sub_category_id"], subParentCategory: json["sub_parent_category"], ); Map toJson() => { "id_category": idCategory, "parent_name": parentName, "sub_category_id": subCategoryId, "sub_parent_category": subParentCategory, }; }