public static YPlaylistResponse FromJson(JToken json) { var playlist = new YPlaylistResponse { Revision = json.SelectToken("revision")?.ToObject <int>(), Kind = json.SelectToken("kind")?.ToObject <string>(), Title = json.SelectToken("title")?.ToObject <string>(), Description = json.SelectToken("description")?.ToObject <string>(), DescriptionFormatted = json.SelectToken("descriptionFormatted")?.ToObject <string>(), TrackCount = json.SelectToken("trackCount")?.ToObject <int>(), Visibility = json.SelectToken("visibility")?.ToObject <string>(), Cover = YPlaylistCover.FromJson(json.SelectToken("cover")), Owner = YOwner.FromJson(json["owner"]), Tracks = json.SelectToken("tracks")?.Select(x => YTrack.FromJson(x)).ToList(), Modified = json.SelectToken("modified")?.ToObject <string>(), TrackIds = json.SelectToken("trackIds")?.Select(x => x.ToObject <int>()).ToList(), OgImage = json.SelectToken("ogImage")?.ToObject <string>(), Tags = json.SelectToken("tags")?.Select(x => x.ToObject <string>()).ToList(), LikesCount = json.SelectToken("likesCount")?.ToObject <int>(), Duration = json.SelectToken("duration")?.ToObject <long>(), Collective = json.SelectToken("collective")?.ToObject <bool>(), Prerolls = json.SelectToken("prerolls")?.Select(x => YPlaylistPrerolls.FromJson(x)).ToList(), PlayCounter = YPlaylistPlayCounter.FromJson(json.SelectToken("playCounter")), IdForFrom = json.SelectToken("idForFrom")?.ToObject <string>(), GeneratedPlaylistType = json.SelectToken("generatedPlaylistType")?.ToObject <string>(), UrlPart = json.SelectToken("urlPart")?.ToObject <string>(), MadeFor = YPlaylistMadeFor.FromJson(json.SelectToken("madeFor")), OgTitle = json.SelectToken("ogTitle")?.ToObject <string>(), DoNotIndex = json.SelectToken("doNotIndex")?.ToObject <bool>() }; return(playlist); }
public static YPlaylistChangeResponse FromJson(JToken json) { var x = json["playlist"]; var playlistOwner = new YOwner { Uid = x["owner"]["uid"].ToObject <string>(), Login = x["owner"]["login"].ToObject <string>(), Name = x["owner"]["name"].ToObject <string>(), Sex = x["owner"]["sex"]?.ToObject <string>(), Verified = x["owner"]["verified"]?.ToObject <bool>() }; var tracks = x.SelectToken("tracks")?.Select(f => new YLibraryPlaylistResponse.YandexLibraryPlaylist.YandexLibraryPlaylistTrack { Id = f["id"]?.ToObject <long?>(), Timestamp = f["timestamp"]?.ToObject <string>(), AlbumId = f["albumId"]?.ToObject <long?>() }).ToList(); var libraryCover = YCover.FromJson(x.SelectToken("cover")); var playlist = new YLibraryPlaylistResponse.YandexLibraryPlaylist { Owner = playlistOwner, Available = x["available"]?.ToObject <bool>(), Uid = x["uid"]?.ToObject <long>(), Kind = x["kind"]?.ToObject <long>(), Title = x["title"]?.ToObject <string>(), Revision = x["revision"]?.ToObject <long>(), Snapshot = x["snapshot"]?.ToObject <long>(), TrackCount = x["trackCount"]?.ToObject <long>(), Visibility = x["visibility"]?.ToObject <string>(), Collective = x["collective"]?.ToObject <bool>(), Created = x["created"]?.ToObject <string>(), Modified = x["modified"]?.ToObject <string>(), IsBanner = x["isBanner"]?.ToObject <bool>(), IsPremiere = x["isPremiere"]?.ToObject <bool>(), DurationMs = x["durationMs"]?.ToObject <long>(), Cover = libraryCover, OgImage = x["ogImage"]?.ToObject <string>(), Tracks = tracks, Tags = x["tags"]?.ToString(), Prerolls = x["prerolls"]?.ToString(), }; return(new YPlaylistChangeResponse { Success = json["success"].ToObject <bool>(), Playlist = playlist }); }
internal static YPlaylistMadeFor FromJson(JToken json) { if (json == null) { return(null); } return(new YPlaylistMadeFor { UserInfo = YOwner.FromJson(json.SelectToken("userInfo")), MadeFor = YMadeForCaseForms.FromJson(json.SelectToken("caseForms")) }); }
internal static YPlaylistFavoritesResponse FromJson(JToken json) { return(new YPlaylistFavoritesResponse { Success = json["success"].ToObject <bool>(), CountsTracks = YCountsTracks.FromJson(json["countsTracks"]), Tracks = json["tracks"].Select(YTrack.FromJson).ToList(), ContestTracksIds = json["contestTracksIds"].Select(x => YTrackAlbumPair.FromJson(x)).ToList(), TrackIds = json["trackIds"].Select(x => x.ToObject <string>()).ToList(), Verified = json["verified"].ToObject <bool>(), Owner = YOwner.FromJson(json["owner"]), Visibility = json["visibility"].ToObject <bool>(), Profiles = json["profiles"].Select(x => YProfile.FromJson(x)).ToList(), Counts = YLikedCounts.FromJson(json["counts"]), HasTracks = json["hasTracks"].ToObject <bool>(), IsRadioAvailable = json["isRadioAvailable"].ToObject <bool>() }); }
internal static YSearchPlaylistModel FromJson(JToken json) { if (json == null) { return(null); } return(new YSearchPlaylistModel { Revision = json.SelectToken("revision")?.ToObject <int?>(), Kind = json.SelectToken("kind")?.ToObject <string>(), Title = json.SelectToken("title")?.ToObject <string>(), Description = json.SelectToken("description")?.ToObject <string>(), DescriptionFormatted = json.SelectToken("descriptionFormatted")?.ToObject <string>(), TrackCount = json.SelectToken("trackCount")?.ToObject <int>(), Cover = YCover.FromJson(json.SelectToken("cover")), Owner = YOwner.FromJson(json["owner"]), Tags = json.SelectToken("tags")?.Select(x => x.ToObject <string>()).ToList(), LikesCount = json.SelectToken("likesCount")?.ToObject <long>(), }); }
public static YLibraryPlaylistResponse FromJson(JToken json) { var playlists = new List <YLibraryPlaylistResponse.YandexLibraryPlaylist>(); foreach (var x in json["playlists"]) { var playlistOwner = new YOwner { Uid = x["owner"]["uid"].ToObject <string>(), Login = x["owner"]["login"].ToObject <string>(), Name = x["owner"]["name"].ToObject <string>(), Sex = x["owner"]["sex"]?.ToObject <string>(), Verified = x["owner"]["verified"]?.ToObject <bool>() }; var tracks = x.SelectToken("tracks")?.Select(f => new YandexLibraryPlaylist.YandexLibraryPlaylistTrack { Id = f["id"]?.ToObject <long?>(), Timestamp = f["timestamp"]?.ToObject <string>(), AlbumId = f["albumId"]?.ToObject <long?>() }).ToList(); var libraryCover = YCover.FromJson(x.SelectToken("cover")); var playlist = new YandexLibraryPlaylist { Owner = playlistOwner, Available = x["available"]?.ToObject <bool>(), Uid = x["uid"]?.ToObject <long>(), Kind = x["kind"]?.ToObject <long>(), Title = x["title"]?.ToObject <string>(), Revision = x["revision"]?.ToObject <long>(), Snapshot = x["snapshot"]?.ToObject <long>(), TrackCount = x["trackCount"]?.ToObject <long>(), Visibility = x["visibility"]?.ToObject <string>(), Collective = x["collective"]?.ToObject <bool>(), Created = x["created"]?.ToObject <string>(), Modified = x["modified"]?.ToObject <string>(), IsBanner = x["isBanner"]?.ToObject <bool>(), IsPremiere = x["isPremiere"]?.ToObject <bool>(), DurationMs = x["durationMs"]?.ToObject <long>(), Cover = libraryCover, OgImage = x["ogImage"]?.ToObject <string>(), Tracks = tracks, Tags = x["tags"]?.ToString(), Prerolls = x["prerolls"]?.ToString(), }; playlists.Add(playlist); } var libraryOwner = new YOwner { Uid = json["owner"]["uid"].ToObject <string>(), Login = json["owner"]["login"].ToObject <string>(), Name = json["owner"]["name"].ToObject <string>(), Sex = string.Empty, Verified = null }; var profiles = json["profiles"].Select(x => new YProfile { Provider = x["provider"].ToObject <string>(), Addresses = x["addresses"].Select(f => f.ToObject <string>()).ToList() }).ToList(); var counts = new YLikedCounts { LikedArtists = json["counts"]["likedArtists"].ToObject <long>(), LikedAlbums = json["counts"]["likedAlbums"].ToObject <long>(), }; return(new YLibraryPlaylistResponse { Success = json["success"].ToObject <bool>(), BookmarksPlaylistsIds = json["bookmarksPlaylistsIds"].ToString(), Bookmarks = json["bookmarks"].ToString(), PlaylistIds = json["playlistIds"].Select(x => x.ToObject <long>()).ToList(), Playlists = playlists, Verified = json["verified"].ToObject <bool>(), Owner = libraryOwner, Visibility = json["visibility"].ToObject <bool>(), Profiles = profiles, Counts = counts, HasTracks = json["hasTracks"].ToObject <bool>(), IsRadioAvailable = json["isRadioAvailable"].ToObject <bool>() }); }