Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. // To parse this JSON data, do
  2. //
  3. // final movieResponse = movieResponseFromJson(jsonString);
  4.  
  5. import 'dart:convert';
  6.  
  7. MovieResponse movieResponseFromJson(String str) => MovieResponse.fromJson(json.decode(str));
  8.  
  9. String movieResponseToJson(MovieResponse data) => json.encode(data.toJson());
  10.  
  11. class MovieResponse {
  12. List<Result> results;
  13. int page;
  14. int totalResults;
  15. Dates dates;
  16. int totalPages;
  17.  
  18. MovieResponse({
  19. this.results,
  20. this.page,
  21. this.totalResults,
  22. this.dates,
  23. this.totalPages,
  24. });
  25.  
  26. factory MovieResponse.fromJson(Map<String, dynamic> json) => MovieResponse(
  27. results: List<Result>.from(json["results"].map((x) => Result.fromJson(x))),
  28. page: json["page"],
  29. totalResults: json["total_results"],
  30. dates: Dates.fromJson(json["dates"]),
  31. totalPages: json["total_pages"],
  32. );
  33.  
  34. Map<String, dynamic> toJson() => {
  35. "results": List<dynamic>.from(results.map((x) => x.toJson())),
  36. "page": page,
  37. "total_results": totalResults,
  38. "dates": dates.toJson(),
  39. "total_pages": totalPages,
  40. };
  41. }
  42.  
  43. class Dates {
  44. DateTime maximum;
  45. DateTime minimum;
  46.  
  47. Dates({
  48. this.maximum,
  49. this.minimum,
  50. });
  51.  
  52. factory Dates.fromJson(Map<String, dynamic> json) => Dates(
  53. maximum: DateTime.parse(json["maximum"]),
  54. minimum: DateTime.parse(json["minimum"]),
  55. );
  56.  
  57. Map<String, dynamic> toJson() => {
  58. "maximum": "${maximum.year.toString().padLeft(4, '0')}-${maximum.month.toString().padLeft(2, '0')}-${maximum.day.toString().padLeft(2, '0')}",
  59. "minimum": "${minimum.year.toString().padLeft(4, '0')}-${minimum.month.toString().padLeft(2, '0')}-${minimum.day.toString().padLeft(2, '0')}",
  60. };
  61. }
  62.  
  63. class Result {
  64. double popularity;
  65. int voteCount;
  66. bool video;
  67. String posterPath;
  68. int id;
  69. bool adult;
  70. String backdropPath;
  71. String originalLanguage;
  72. String originalTitle;
  73. List<int> genreIds;
  74. String title;
  75. double voteAverage;
  76. String overview;
  77. DateTime releaseDate;
  78.  
  79. Result({
  80. this.popularity,
  81. this.voteCount,
  82. this.video,
  83. this.posterPath,
  84. this.id,
  85. this.adult,
  86. this.backdropPath,
  87. this.originalLanguage,
  88. this.originalTitle,
  89. this.genreIds,
  90. this.title,
  91. this.voteAverage,
  92. this.overview,
  93. this.releaseDate,
  94. });
  95.  
  96. factory Result.fromJson(Map<String, dynamic> json) => Result(
  97. popularity: json["popularity"].toDouble(),
  98. voteCount: json["vote_count"],
  99. video: json["video"],
  100. posterPath: json["poster_path"],
  101. id: json["id"],
  102. adult: json["adult"],
  103. backdropPath: json["backdrop_path"],
  104. originalLanguage: json["original_language"],
  105. originalTitle: json["original_title"],
  106. genreIds: List<int>.from(json["genre_ids"].map((x) => x)),
  107. title: json["title"],
  108. voteAverage: json["vote_average"].toDouble(),
  109. overview: json["overview"],
  110. releaseDate: DateTime.parse(json["release_date"]),
  111. );
  112.  
  113. Map<String, dynamic> toJson() => {
  114. "popularity": popularity,
  115. "vote_count": voteCount,
  116. "video": video,
  117. "poster_path": posterPath,
  118. "id": id,
  119. "adult": adult,
  120. "backdrop_path": backdropPath,
  121. "original_language": originalLanguage,
  122. "original_title": originalTitle,
  123. "genre_ids": List<dynamic>.from(genreIds.map((x) => x)),
  124. "title": title,
  125. "vote_average": voteAverage,
  126. "overview": overview,
  127. "release_date": "${releaseDate.year.toString().padLeft(4, '0')}-${releaseDate.month.toString().padLeft(2, '0')}-${releaseDate.day.toString().padLeft(2, '0')}",
  128. };
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement