/// <summary> /// Parse a JSON string representing a Movie item /// </summary> /// <param name="json">The JSON string to be parsed</param> /// <returns>Movie object</returns> public static TomatoMovie ParseMovie(string json) { JObject jObject = JObject.Parse(json); TomatoMovie movie = new TomatoMovie(); if (jObject["error"] != null) { return(null); } movie.RottenTomatoesId = ParseRottenTomatoesId(jObject["id"]); movie.Title = ParseTitle(jObject["title"]); movie.Year = ParseYear(jObject["year"]); movie.MpaaRating = ParseMpaaRating(jObject["mpaa_rating"]); movie.Runtime = ParseRunTime(jObject["runtime"]); movie.Synopsis = ParseSynopsis(jObject["synopsis"]); movie.Directors = ParseDirectors(jObject["abridged_directors"]); movie.Genres = ParseGenres(jObject["genres"]); movie.Cast = ParseCastMembers(jObject["abridged_cast"]); movie.Links = ParseLinks(jObject["links"]); movie.Posters = ParsePosters(jObject["posters"]); movie.Ratings = ParseRatings(jObject["ratings"]); movie.ReleaseDates = ParseReleaseDates(jObject["release_dates"]); return(movie); }
/// <summary> /// Parse Search Results For Movies /// </summary> /// <param name="json">JSON string to parse</param> /// <returns>MovieSearchResult object containing a list of Movie objects</returns> public static TomatoMovieSearchResults ParseMovieSearchResults(string json) { JObject jObject = JObject.Parse(json); var result = new TomatoMovieSearchResults(); if (jObject["total"] != null) { result.ResultCount = (int)jObject["total"]; } var movies = (JArray)jObject["movies"]; if (movies != null) { foreach (var movie in movies) { TomatoMovie m = ParseMovie(movie.ToString()); result.Add(m); } } return(result); }