本文整理汇总了Java中com.grack.nanojson.JsonParser类的典型用法代码示例。如果您正苦于以下问题:Java JsonParser类的具体用法?Java JsonParser怎么用?Java JsonParser使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
JsonParser类属于com.grack.nanojson包,在下文中一共展示了JsonParser类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: suggestionList
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
@Override
public List<String> suggestionList(String query, String contentCountry) throws IOException, ExtractionException {
List<String> suggestions = new ArrayList<>();
Downloader dl = NewPipe.getDownloader();
String url = "https://api-v2.soundcloud.com/search/queries"
+ "?q=" + URLEncoder.encode(query, CHARSET_UTF_8)
+ "&client_id=" + SoundcloudParsingHelper.clientId()
+ "&limit=10";
String response = dl.download(url);
try {
JsonArray collection = JsonParser.object().from(response).getArray("collection");
for (Object suggestion : collection) {
if (suggestion instanceof JsonObject) suggestions.add(((JsonObject) suggestion).getString("query"));
}
return suggestions;
} catch (JsonParserException e) {
throw new ParsingException("Could not parse json response", e);
}
}
开发者ID:TeamNewPipe,项目名称:NewPipeExtractor,代码行数:24,代码来源:SoundcloudSuggestionExtractor.java
示例2: getAudioStreams
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
@Override
public List<AudioStream> getAudioStreams() throws IOException, ExtractionException {
List<AudioStream> audioStreams = new ArrayList<>();
Downloader dl = NewPipe.getDownloader();
String apiUrl = "https://api.soundcloud.com/i1/tracks/" + urlEncode(getId()) + "/streams"
+ "?client_id=" + urlEncode(SoundcloudParsingHelper.clientId());
String response = dl.download(apiUrl);
JsonObject responseObject;
try {
responseObject = JsonParser.object().from(response);
} catch (JsonParserException e) {
throw new ParsingException("Could not parse json response", e);
}
String mp3Url = responseObject.getString("http_mp3_128_url");
if (mp3Url != null && !mp3Url.isEmpty()) {
audioStreams.add(new AudioStream(mp3Url, MediaFormat.MP3, 128));
} else {
throw new ExtractionException("Could not get SoundCloud's track audio url");
}
return audioStreams;
}
开发者ID:TeamNewPipe,项目名称:NewPipeExtractor,代码行数:26,代码来源:SoundcloudStreamExtractor.java
示例3: setupNextStreamsAjax
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
private void setupNextStreamsAjax(Downloader downloader) throws IOException, ReCaptchaException, ParsingException {
String ajaxDataRaw = downloader.download(nextStreamsUrl);
try {
JsonObject ajaxData = JsonParser.object().from(ajaxDataRaw);
String htmlDataRaw = "<table><tbody id=\"pl-load-more-destination\">" + ajaxData.getString("content_html") + "</tbody></table>";
nextStreamsAjax = Jsoup.parse(htmlDataRaw, nextStreamsUrl);
String nextStreamsHtmlDataRaw = ajaxData.getString("load_more_widget_html");
if (!nextStreamsHtmlDataRaw.isEmpty()) {
nextStreamsUrl = getNextStreamsUrlFrom(Jsoup.parse(nextStreamsHtmlDataRaw, nextStreamsUrl));
} else {
nextStreamsUrl = "";
}
} catch (JsonParserException e) {
throw new ParsingException("Could not parse json data for next streams", e);
}
}
开发者ID:TeamNewPipe,项目名称:NewPipeExtractor,代码行数:19,代码来源:YoutubePlaylistExtractor.java
示例4: setupNextStreamsAjax
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
private void setupNextStreamsAjax(Downloader downloader) throws IOException, ReCaptchaException, ParsingException {
String ajaxDataRaw = downloader.download(nextStreamsUrl);
try {
JsonObject ajaxData = JsonParser.object().from(ajaxDataRaw);
String htmlDataRaw = ajaxData.getString("content_html");
nextStreamsAjax = Jsoup.parse(htmlDataRaw, nextStreamsUrl);
String nextStreamsHtmlDataRaw = ajaxData.getString("load_more_widget_html");
if (!nextStreamsHtmlDataRaw.isEmpty()) {
nextStreamsUrl = getNextStreamsUrlFrom(Jsoup.parse(nextStreamsHtmlDataRaw, nextStreamsUrl));
} else {
nextStreamsUrl = "";
}
} catch (JsonParserException e) {
throw new ParsingException("Could not parse json data for next streams", e);
}
}
开发者ID:TeamNewPipe,项目名称:NewPipeExtractor,代码行数:19,代码来源:YoutubeChannelExtractor.java
示例5: load
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
public static void load(Reader reader, boolean resource) throws JsonParserException {
JsonObject parentObject = JsonParser.object().from(reader);
String code = parentObject.getString("code");
String name = parentObject.getString("name");
String inherit = parentObject.getString("inherit");
if (code == null) throw new LocaleException("Locale 'code' key must be set!");
if (name == null) throw new LocaleException("Locale 'name' key must be set!");
Locale locale = new Locale(code, name);
locale.inherit(inherit);
JsonObject translations = parentObject.getObject("translations");
for (Map.Entry<String, Object> entry : translations.entrySet())
locale.addTranslation(entry.getKey(), (String) entry.getValue());
locales.put(code, locale);
if (resource) resourceLocales.add(code); else fileLocales.add(code);
}
开发者ID:FRC5333,项目名称:Parlez-Vous,代码行数:19,代码来源:LocaleLoader.java
示例6: doInBackground
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
@Override
protected ServerListEntry[] doInBackground()
throws Exception {
LogUtil.getLogger().log(Level.FINE, "ClassiCubeNetGetServerListWorker");
final String serverListString = HttpUtil.downloadString(SERVER_LIST_URL);
final ArrayList<ServerListEntry> servers = new ArrayList<>();
final JsonArray array = JsonParser.object().from(serverListString).getArray("servers");
for (final Object rawRow : array) { //iterate through and add servers to the list
final JsonObject row = (JsonObject) rawRow;
final ServerListEntry info = new ServerListEntry();
info.flag = "";
info.hash = row.getString("hash");
info.maxPlayers = row.getInt("maxplayers");
info.name = row.getString("name");
info.players = row.getInt("players");
info.uptime = row.getInt("uptime");
info.software = row.getString("software");
servers.add(info); //add it
}
return servers.toArray(new ServerListEntry[servers.size()]); //return
}
开发者ID:fragmer,项目名称:ClassiCubeLauncher,代码行数:26,代码来源:ClassiCubeNetSession.java
示例7: onFetchPage
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
@Override
public void onFetchPage(@Nonnull Downloader downloader) throws IOException, ExtractionException {
playlistId = getUrlIdHandler().getId(getOriginalUrl());
String apiUrl = "https://api.soundcloud.com/playlists/" + playlistId +
"?client_id=" + SoundcloudParsingHelper.clientId() +
"&representation=compact";
String response = downloader.download(apiUrl);
try {
playlist = JsonParser.object().from(response);
} catch (JsonParserException e) {
throw new ParsingException("Could not parse json response", e);
}
}
开发者ID:TeamNewPipe,项目名称:NewPipeExtractor,代码行数:16,代码来源:SoundcloudPlaylistExtractor.java
示例8: onFetchPage
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
@Override
public void onFetchPage(@Nonnull Downloader downloader) throws IOException, ExtractionException {
userId = getUrlIdHandler().getId(getOriginalUrl());
String apiUrl = "https://api.soundcloud.com/users/" + userId +
"?client_id=" + SoundcloudParsingHelper.clientId();
String response = downloader.download(apiUrl);
try {
user = JsonParser.object().from(response);
} catch (JsonParserException e) {
throw new ParsingException("Could not parse json response", e);
}
}
开发者ID:TeamNewPipe,项目名称:NewPipeExtractor,代码行数:15,代码来源:SoundcloudChannelExtractor.java
示例9: resolveFor
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
/**
* Call the endpoint "/resolve" of the api.<p>
*
* See https://developers.soundcloud.com/docs/api/reference#resolve
*/
public static JsonObject resolveFor(Downloader downloader, String url) throws IOException, ReCaptchaException, ParsingException {
String apiUrl = "https://api.soundcloud.com/resolve"
+ "?url=" + URLEncoder.encode(url, "UTF-8")
+ "&client_id=" + clientId();
try {
return JsonParser.object().from(downloader.download(apiUrl));
} catch (JsonParserException e) {
throw new ParsingException("Could not parse json response", e);
}
}
开发者ID:TeamNewPipe,项目名称:NewPipeExtractor,代码行数:17,代码来源:SoundcloudParsingHelper.java
示例10: suggestionList
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
@Override
public List<String> suggestionList(String query, String contentCountry) throws IOException, ExtractionException {
Downloader dl = NewPipe.getDownloader();
List<String> suggestions = new ArrayList<>();
String url = "https://suggestqueries.google.com/complete/search"
+ "?client=" + "youtube" //"firefox" for JSON, 'toolbar' for xml
+ "&jsonp=" + "JP"
+ "&ds=" + "yt"
+ "&hl=" + URLEncoder.encode(contentCountry, CHARSET_UTF_8)
+ "&q=" + URLEncoder.encode(query, CHARSET_UTF_8);
String response = dl.download(url);
// trim JSONP part "JP(...)"
response = response.substring(3, response.length()-1);
try {
JsonArray collection = JsonParser.array().from(response).getArray(1, new JsonArray());
for (Object suggestion : collection) {
if (!(suggestion instanceof JsonArray)) continue;
String suggestionStr = ((JsonArray)suggestion).getString(0);
if (suggestionStr == null) continue;
suggestions.add(suggestionStr);
}
return suggestions;
} catch (JsonParserException e) {
throw new ParsingException("Could not parse json response", e);
}
}
开发者ID:TeamNewPipe,项目名称:NewPipeExtractor,代码行数:30,代码来源:YoutubeSuggestionExtractor.java
示例11: doImport
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
@Override
@Nullable
public MindMap doImport(@Nonnull final MindMapPanel panel, @Nonnull final DialogProvider dialogProvider, @Nullable final Topic actionTopic, @Nonnull @MustNotContainNull final Topic[] selectedTopics) throws Exception {
final File file = this.selectFileForExtension(panel, Texts.getString("MMDImporters.Mindmup2MindMap.openDialogTitle"), "mup", "Mindmup files (.MUP)", Texts.getString("MMDImporters.ApproveImport"));
if (file == null) {
return null;
}
final JsonObject parsedJson;
parsedJson = JsonParser.object().from(FileUtils.readFileToString(file, "UTF-8"));
MindMap resultedMap = null;
final Number formatVersion = parsedJson.getNumber("formatVersion");
if (formatVersion == null) {
dialogProvider.msgError(null,Texts.getString("MMDImporters.Mindmup2MindMap.Error.WrongFormat"));
} else {
resultedMap = new MindMap(null, true);
resultedMap.setAttribute(MindMapPanel.ATTR_SHOW_JUMPS, "true");
final Topic mindMapRoot = Assertions.assertNotNull(resultedMap.getRoot());
final Map<Long, Topic> mapTopicId = new HashMap<Long, Topic>();
parseTopic(resultedMap, null, mindMapRoot, parsedJson, mapTopicId);
if (!mindMapRoot.getExtras().containsKey(Extra.ExtraType.FILE)) {
mindMapRoot.setExtra(new ExtraFile(new MMapURI(null, file, null)));
}
final JsonArray links = parsedJson.getArray("links");
if (links != null) {
processLinks(resultedMap, links, mapTopicId);
}
}
return resultedMap;
}
开发者ID:raydac,项目名称:netbeans-mmd-plugin,代码行数:38,代码来源:Mindmup2MindMapImporter.java
示例12: loadDataFromNetwork
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
@Override
public JsonObject loadDataFromNetwork() throws Exception {
URL baseUrl = new URL("http://www.progscrape.com/feed.json"
+ (query == null ? "" : "?search=" + URLEncoder.encode(query, "UTF-8")));
Log.d("feed", "Making request to " + baseUrl);
HttpURLConnection conn = getUrlFactory().open(baseUrl);
try (InputStream in = conn.getInputStream()) {
JsonObject rawFeed = JsonParser.object().from(in);
Log.d("feed", "Successfully retrieved feed");
return rawFeed;
}
}
开发者ID:mmastrac,项目名称:progscrape-android,代码行数:14,代码来源:FeedRequest.java
示例13: checkEventTypeSchemaValid
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
public static void checkEventTypeSchemaValid(final String jsonInString) throws InvalidEventTypeException {
try {
JsonParser.any().from(jsonInString);
} catch (final JsonParserException jpe) {
throw new InvalidEventTypeException("schema must be a valid json: " + jpe.getMessage());
}
}
开发者ID:zalando,项目名称:nakadi,代码行数:8,代码来源:JsonUtils.java
示例14: search
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
@Override
public InfoItemSearchCollector search(String query, int page, String languageCode, Filter filter) throws IOException, ExtractionException {
InfoItemSearchCollector collector = getInfoItemSearchCollector();
Downloader dl = NewPipe.getDownloader();
String url = "https://api-v2.soundcloud.com/search";
switch (filter) {
case STREAM:
url += "/tracks";
break;
case CHANNEL:
url += "/users";
break;
case PLAYLIST:
url += "/playlists";
break;
case ANY:
// Don't append any parameter to search for everything
default:
break;
}
url += "?q=" + URLEncoder.encode(query, CHARSET_UTF_8)
+ "&client_id=" + SoundcloudParsingHelper.clientId()
+ "&limit=10"
+ "&offset=" + Integer.toString(page * 10);
JsonArray searchCollection;
try {
searchCollection = JsonParser.object().from(dl.download(url)).getArray("collection");
} catch (JsonParserException e) {
throw new ParsingException("Could not parse json response", e);
}
if (searchCollection.size() == 0) {
throw new NothingFoundException("Nothing found");
}
for (Object result : searchCollection) {
if (!(result instanceof JsonObject)) continue;
//noinspection ConstantConditions
JsonObject searchResult = (JsonObject) result;
String kind = searchResult.getString("kind", "");
switch (kind) {
case "user":
collector.commit(new SoundcloudChannelInfoItemExtractor(searchResult));
break;
case "track":
collector.commit(new SoundcloudStreamInfoItemExtractor(searchResult));
break;
case "playlist":
collector.commit(new SoundcloudPlaylistInfoItemExtractor(searchResult));
break;
}
}
return collector;
}
开发者ID:TeamNewPipe,项目名称:NewPipeExtractor,代码行数:61,代码来源:SoundcloudSearchEngine.java
示例15: getSubtitles
import com.grack.nanojson.JsonParser; //导入依赖的package包/类
@Override
@Nullable
public List<Subtitles> getSubtitles(SubtitlesFormat format) throws IOException, ExtractionException {
assertPageFetched();
if(isAgeRestricted) {
// If the video is age restricted getPlayerConfig will fail
return null;
}
// TODO: This should be done in onFetchPage()
JsonObject playerConfig = getPlayerConfig(getPageHtml(NewPipe.getDownloader()));
String playerResponse = playerConfig.getObject("args").getString("player_response");
JsonObject captions;
try {
// Captions does not exist, return null
if (!JsonParser.object().from(playerResponse).has("captions")) return null;
captions = JsonParser.object().from(playerResponse).getObject("captions");
} catch (JsonParserException e) {
// Failed to parse subtitles
return null;
}
JsonArray captionsArray = captions.getObject("playerCaptionsTracklistRenderer").getArray("captionTracks");
int captionsSize = captionsArray.size();
// Should not happen, if there is the "captions" object, it should always has some captions in it
if(captionsSize == 0) return null;
List<Subtitles> result = new ArrayList<>();
for (int x = 0; x < captionsSize; x++) {
String baseUrl = captionsArray.getObject(x).getString("baseUrl");
String extension = format.getExtension();
String URL = baseUrl.replaceAll("&fmt=[^&]*", "&fmt=" + extension);
String captionsLangCode = captionsArray.getObject(x).getString("vssId");
boolean isAutoGenerated = captionsLangCode.startsWith("a.");
String languageCode = captionsLangCode.replaceFirst((isAutoGenerated) ? "a." : ".", "");
result.add(new Subtitles(format, languageCode, URL, isAutoGenerated));
}
return result;
}
开发者ID:TeamNewPipe,项目名称:NewPipeExtractor,代码行数:45,代码来源:YoutubeStreamExtractor.java
注:本文中的com.grack.nanojson.JsonParser类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论