Skip to content

Commit 03b00ff

Browse files
committed
Move toJsonArray and toJsonObject to JsonUtils
1 parent 668b080 commit 03b00ff

4 files changed

Lines changed: 36 additions & 26 deletions

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeParsingHelper.java

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.schabi.newpipe.extractor.exceptions.ReCaptchaException;
1616
import org.schabi.newpipe.extractor.localization.Localization;
1717
import org.schabi.newpipe.extractor.stream.Description;
18+
import org.schabi.newpipe.extractor.utils.JsonUtils;
1819
import org.schabi.newpipe.extractor.utils.Parser;
1920
import org.schabi.newpipe.extractor.utils.Utils;
2021

@@ -648,7 +649,7 @@ public static JsonArray getJsonResponse(final String url, final Localization loc
648649
headers.put("X-YouTube-Client-Version", Collections.singletonList(getClientVersion()));
649650
final Response response = getDownloader().get(url, headers, localization);
650651

651-
return toJsonArray(getValidJsonResponseBody(response));
652+
return JsonUtils.toJsonArray(getValidJsonResponseBody(response));
652653
}
653654

654655
public static JsonArray getJsonResponse(final Page page, final Localization localization)
@@ -662,23 +663,7 @@ public static JsonArray getJsonResponse(final Page page, final Localization loca
662663

663664
final Response response = getDownloader().get(page.getUrl(), headers, localization);
664665

665-
return toJsonArray(getValidJsonResponseBody(response));
666-
}
667-
668-
public static JsonArray toJsonArray(final String responseBody) throws ParsingException {
669-
try {
670-
return JsonParser.array().from(responseBody);
671-
} catch (JsonParserException e) {
672-
throw new ParsingException("Could not parse JSON", e);
673-
}
674-
}
675-
676-
public static JsonObject toJsonObject(final String responseBody) throws ParsingException {
677-
try {
678-
return JsonParser.object().from(responseBody);
679-
} catch (JsonParserException e) {
680-
throw new ParsingException("Could not parse JSON", e);
681-
}
666+
return JsonUtils.toJsonArray(getValidJsonResponseBody(response));
682667
}
683668

684669
/**

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMixPlaylistExtractor.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.grack.nanojson.JsonArray;
44
import com.grack.nanojson.JsonObject;
5+
56
import org.schabi.newpipe.extractor.ListExtractor;
67
import org.schabi.newpipe.extractor.Page;
78
import org.schabi.newpipe.extractor.StreamingService;
@@ -14,14 +15,19 @@
1415
import org.schabi.newpipe.extractor.playlist.PlaylistExtractor;
1516
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
1617
import org.schabi.newpipe.extractor.stream.StreamInfoItemsCollector;
18+
import org.schabi.newpipe.extractor.utils.JsonUtils;
1719

18-
import javax.annotation.Nonnull;
19-
import javax.annotation.Nullable;
2020
import java.io.IOException;
2121
import java.util.Collections;
2222
import java.util.List;
2323

24-
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.*;
24+
import javax.annotation.Nonnull;
25+
import javax.annotation.Nullable;
26+
27+
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.extractCookieValue;
28+
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getJsonResponse;
29+
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getResponse;
30+
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getUrlFromNavigationEndpoint;
2531
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
2632

2733
/**
@@ -51,7 +57,7 @@ public void onFetchPage(@Nonnull final Downloader downloader)
5157
throws IOException, ExtractionException {
5258
final String url = getUrl() + "&pbj=1";
5359
final Response response = getResponse(url, getExtractorLocalization());
54-
final JsonArray ajaxJson = toJsonArray(response.responseBody());
60+
final JsonArray ajaxJson = JsonUtils.toJsonArray(response.responseBody());
5561
initialData = ajaxJson.getObject(3).getObject("response");
5662
playlistData = initialData.getObject("contents").getObject("twoColumnWatchNextResults")
5763
.getObject("playlist").getObject("playlist");

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubePlaylistExtractor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@
3030
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.fixThumbnailUrl;
3131
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getClientVersion;
3232
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getJsonResponse;
33-
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getTextFromObject;
3433
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getKey;
34+
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getTextFromObject;
3535
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getUrlFromNavigationEndpoint;
3636
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.getValidJsonResponseBody;
37-
import static org.schabi.newpipe.extractor.services.youtube.YoutubeParsingHelper.toJsonObject;
37+
import static org.schabi.newpipe.extractor.utils.JsonUtils.toJsonObject;
3838
import static org.schabi.newpipe.extractor.utils.Utils.UTF_8;
3939
import static org.schabi.newpipe.extractor.utils.Utils.isNullOrEmpty;
4040

extractor/src/main/java/org/schabi/newpipe/extractor/utils/JsonUtils.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,18 @@
22

33
import com.grack.nanojson.JsonArray;
44
import com.grack.nanojson.JsonObject;
5+
import com.grack.nanojson.JsonParser;
6+
import com.grack.nanojson.JsonParserException;
7+
58
import org.schabi.newpipe.extractor.exceptions.ParsingException;
69

7-
import javax.annotation.Nonnull;
8-
import javax.annotation.Nullable;
910
import java.util.ArrayList;
1011
import java.util.Arrays;
1112
import java.util.List;
1213

14+
import javax.annotation.Nonnull;
15+
import javax.annotation.Nullable;
16+
1317
public class JsonUtils {
1418
public static final JsonObject EMPTY_OBJECT = new JsonObject();
1519
public static final JsonArray EMPTY_ARRAY = new JsonArray();
@@ -99,4 +103,19 @@ private static JsonObject getObject(@Nonnull JsonObject object, @Nonnull List<St
99103
return result;
100104
}
101105

106+
public static JsonArray toJsonArray(final String responseBody) throws ParsingException {
107+
try {
108+
return JsonParser.array().from(responseBody);
109+
} catch (JsonParserException e) {
110+
throw new ParsingException("Could not parse JSON", e);
111+
}
112+
}
113+
114+
public static JsonObject toJsonObject(final String responseBody) throws ParsingException {
115+
try {
116+
return JsonParser.object().from(responseBody);
117+
} catch (JsonParserException e) {
118+
throw new ParsingException("Could not parse JSON", e);
119+
}
120+
}
102121
}

0 commit comments

Comments
 (0)