private static LiveRecommendResponse ParseLiveRecommendJson(string json) { return(new LiveRecommendResponse() { _RecommendItems = JsonSerializerExtensions.Load <List <LiveRecommendData> >(json) }); }
public static async Task <NicoliveVideoInfoResponse> GetLiveInfoAsync(NiconicoContext context, string liveId) { var json = await GetLiveInfoJsonAsync(context, liveId); var resContainer = JsonSerializerExtensions.Load <NicoliveVideoInfoResponseContainer>(json); return(resContainer.NicoliveVideoResponse); }
public static async Task <NicoliveCommunityVideoResponse> GetLiveCommunityVideoAsync(NiconicoContext context, string communityOrChannelId) { var json = await GetLiveCommunityVideoJsonAsync(context, communityOrChannelId); var resContainer = JsonSerializerExtensions.Load <NicoliveCommunityVideoResponseContainer>(json); return(resContainer.NicoliveVideoResponse); }
public static async Task <VideoInfoArrayResponse> GetVideoInfoArrayAsync( NiconicoContext context , IEnumerable <string> videoIdList ) { var json = await GetVideoArrayDataAsync(context, videoIdList); var res = JsonSerializerExtensions.Load <VideoInfoArrayResponseContainer>(json); return(res.DataContainer); }
private static RecommendResponse ParseRecommendPageHtml(string html) { const string Nico_RecommendationsParams = "Nico_RecommendationsParams="; var index = html.IndexOf(Nico_RecommendationsParams); int openBrakets = 0; int closeBrakets = 0; int cnt = 0; // {}の個数を数えて、イコールになった地点までをリコメンドパラメータJSONとして取得する foreach (var c in html.Skip(index + Nico_RecommendationsParams.Length)) { if (c == '{') { ++openBrakets; } else if (c == '}') { ++closeBrakets; } ++cnt; if (openBrakets == closeBrakets) { break; } } if (openBrakets != closeBrakets) { throw new Exception("Failed recommend page parse, page not contains <Nico_RecommendationsParams>"); } var recommendFirstParam = new string(html.Skip(index + Nico_RecommendationsParams.Length).Take(cnt).ToArray()); // JSONのルートオブジェクトのキーがダブルクオーテーションで囲まれていないことへの対処 var replaced = recommendFirstParam; replaced = replaced.Replace("page:", "\"page\":"); replaced = replaced.Replace("seed:", "\"seed\":"); replaced = replaced.Replace("user_tag_param:", "\"user_tag_param\":"); replaced = replaced.Replace("compiled_tpl:", "\"compiled_tpl\":"); replaced = replaced.Replace("first_data:", "\"first_data\":"); return(JsonSerializerExtensions.Load <RecommendResponse>(replaced)); }
private static VideoListingResponse ParseVideoResponseJson(string videoSearchResponseJson) { var responseContainer = JsonSerializerExtensions.Load <VideoListingResponseContainer>(videoSearchResponseJson); return(responseContainer.niconico_response); }
private static VideoInfoResponse ParseVideoInfoResponseJson(string json) { var responseContainer = JsonSerializerExtensions.Load <VideoInfoResponseContainer>(json); return(responseContainer.NicovideoVideoResponse); }
private static NicoliveVideoResponse ParseCommunityLiveInfoJson(string json) { var res = JsonSerializerExtensions.Load <CommunityLiveInfoResponse>(json); return(res.NicoliveVideoResponse); }
private static NicovideoCommunityResponse ParseCommunityInfoResponseJson(string json) { var responseContainer = JsonSerializerExtensions.Load <CommunityInfoResponseContainer>(json); return(responseContainer.NicovideoCommunityResponse); }
public static OnAirStreamsResponse ParseOnAirStreamsData(string onAirStreamsData) { return(JsonSerializerExtensions.Load <OnAirStreamsResponse>(onAirStreamsData)); }
public static HistoriesResponse ParseHistoriesData(string historiesData) { return(JsonSerializerExtensions.Load <HistoriesResponse>(historiesData)); }
private static MylistSearchResponse ParseVideoResponseJson(string mylistSearchResponseJson) { var responseContainer = JsonSerializerExtensions.Load <MylistSearchResponseContainer>(mylistSearchResponseJson); return(responseContainer.nicovideo_mylist_response); }
private static MylistGroupVideoResponse ParseMylistVideoItemsResponseJson(string json) { var responseContainer = JsonSerializerExtensions.Load <MylistGroupVideoResponseContainer>(json); return(responseContainer.niconico_response); }
public static SearchResponse ParseSearchData(string searchJson) { return(JsonSerializerExtensions.Load <SearchResponse>(searchJson)); }
public static SuggestionResponse ParseSuggestionData(string suggestionData) { return(JsonSerializerExtensions.Load <SuggestionResponse>(suggestionData)); }
private static ReservationResponse ParseReservationJson(string json) { return(JsonSerializerExtensions.Load <ReservationResponse>(json)); }
public static ProgramsResponse ParseOnAirProgramsData(string onAirProgramsData) { return(JsonSerializerExtensions.Load <ProgramsResponseWrapper>(ProgramsResponseWrapper.PatchJson2(onAirProgramsData)).Response); }
public static async Task <UserSearchResponse> SearchUsersAsync(NiconicoContext context, string searchWord, int?offset = null, int?limit = null, UserSearchSortOrder?sort = null, UserSearchSortOrder?order = null) { var json = await GetUserSearchResultAsync(context, searchWord, offset, limit, sort, order); return(JsonSerializerExtensions.Load <UserSearchResponse>(json)); }
public static VideoResponse ParseVideoData(string videoData) { return(JsonSerializerExtensions.Load <VideoResponseWrapper>(ProgramsResponseWrapper.PatchJson(videoData)).Response); }
private static RecommendContent ParseRecommendJson(string json) { return(JsonSerializerExtensions.Load <RecommendContent>(json)); }
public static async Task <ProgramInfo> GetProgramInfoAsync(NiconicoContext context, string liveId) { var json = await context.GetStringAsync($"http://live2.nicovideo.jp/watch/{liveId}/programinfo"); return(JsonSerializerExtensions.Load <ProgramInfo>(json)); }
private static MylistGroupDetailResponse ParseMylistGroupDetailResponseJson(string json) { var responseContainer = JsonSerializerExtensions.Load <MylistGroupDetailResponseContainer>(json); return(responseContainer.nicovideo_mylistgroup_response); }
public static Task <VideoPlaylistResponse> GetRelatedPlaylistAsync(NiconicoContext context, string videoId, string referer) { return(GetRelatedPlaylistDataAsync(context, videoId, referer) .ContinueWith(prevTask => JsonSerializerExtensions.Load <VideoPlaylistResponse>(prevTask.Result))); }
public static RemoveHistoryResponse ParseRemoveHistoryData(string historiesData) { return(JsonSerializerExtensions.Load <RemoveHistoryResponse>(historiesData)); }
public static ChannelFollowResult ParseChannelFollowResult(string json) { return(JsonSerializerExtensions.Load <ChannelFollowResult>(json)); }
public static Task <ChannelInfo> GetChannelInfoAsync(NiconicoContext context, string channelId) { return(GetChannelInfoJsonAsync(context, channelId) .ContinueWith(prevTask => JsonSerializerExtensions.Load <ChannelInfo>(prevTask.Result))); }
public static SearchProgramsResponse ParseSearchProgramsData(string searchProgramsData) { return(JsonSerializerExtensions.Load <SearchProgramsResponseWrapper>(ProgramsResponseWrapper.PatchJson2(searchProgramsData)).Response); }
public static SummaryResponse ParseSummaryData(string summaryData) { return(JsonSerializerExtensions.Load <SummaryResponse>(summaryData)); }
public static async Task <LiveSearchResponse> GetLiveSearchAsync( NiconicoContext context, string q, int offset, int limit, SearchTargetType targets = SearchTargetType.All, LiveSearchFieldType fields = LiveSearchFieldType.ContentId, LiveSearchSortType sortType = LiveSearchSortType.StartTime | LiveSearchSortType.SortDecsending, ISearchFilter searchFilter = null ) { if (string.IsNullOrWhiteSpace(q)) { throw new ArgumentException("q value must contains any character."); } if (offset < 0 || offset >= SearchConstants.MaxSearchOffset) { throw new ArgumentException("offset value out of bounds. (0 <= offset <= 1600)"); } if (limit < 0 || limit >= SearchConstants.MaxSearchLimit) { throw new ArgumentException("limit value out of bounds. (0 <= limit <= 100)"); } var dict = new Dictionary <string, string>() { { SearchConstants.QuaryParameter, q }, { SearchConstants.OffsetParameter, offset.ToString() }, { SearchConstants.LimitParameter, limit.ToString() }, { SearchConstants.TargetsParameter, SearchHelpers.ToQueryString(targets) }, }; if (context.AdditionalUserAgent != null) { dict.Add(SearchConstants.ContextParameter, context.AdditionalUserAgent); } if (fields != LiveSearchFieldType.None) { dict.Add(SearchConstants.FieldsParameter, SearchHelpers.ToQueryString(fields)); } if (sortType != LiveSearchSortType.None) { dict.Add(SearchConstants.SortParameter, SearchHelpers.ToQueryString(sortType)); } if (searchFilter != null) { var filters = searchFilter.GetFilterKeyValues(); foreach (var f in filters) { dict.Add(f.Key, f.Value); } } var json = await context.GetStringAsync(SearchConstants.LiveSearchEndPoint, dict); return(JsonSerializerExtensions.Load <LiveSearchResponse>(json)); }
public static RecentResponse ParseRecentData(string recentData) { return(JsonSerializerExtensions.Load <RecentResponse>(recentData)); }