Fix json problem

This commit is contained in:
FongMi 2024-01-27 00:23:37 +08:00
parent 350ce892e3
commit a3d41c29dc
9 changed files with 49 additions and 46 deletions

View File

@ -34,6 +34,7 @@ import com.github.catvod.net.OkHttp;
import com.github.catvod.net.OkResult; import com.github.catvod.net.OkResult;
import com.github.catvod.spider.Init; import com.github.catvod.spider.Init;
import com.github.catvod.spider.Proxy; import com.github.catvod.spider.Proxy;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Notify; import com.github.catvod.utils.Notify;
import com.github.catvod.utils.Path; import com.github.catvod.utils.Path;
import com.github.catvod.utils.ProxyVideo; import com.github.catvod.utils.ProxyVideo;
@ -41,7 +42,6 @@ import com.github.catvod.utils.QRCode;
import com.github.catvod.utils.ResUtil; import com.github.catvod.utils.ResUtil;
import com.github.catvod.utils.Util; import com.github.catvod.utils.Util;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.File; import java.io.File;
@ -336,7 +336,7 @@ public class AliYun {
param.addProperty("share_id", shareId); param.addProperty("share_id", shareId);
param.addProperty("expire_sec", 600); param.addProperty("expire_sec", 600);
String json = auth("v2/file/get_share_link_download_url", param.toString(), false); String json = auth("v2/file/get_share_link_download_url", param.toString(), false);
String url = JsonParser.parseString(json).getAsJsonObject().get("download_url").getAsString(); String url = Json.parse(json).getAsJsonObject().get("download_url").getAsString();
shareDownloadMap.put(fileId, url); shareDownloadMap.put(fileId, url);
return url; return url;
} catch (Exception e) { } catch (Exception e) {

View File

@ -15,11 +15,11 @@ import com.github.catvod.bean.bili.Page;
import com.github.catvod.bean.bili.Resp; import com.github.catvod.bean.bili.Resp;
import com.github.catvod.crawler.Spider; import com.github.catvod.crawler.Spider;
import com.github.catvod.net.OkHttp; import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Path; import com.github.catvod.utils.Path;
import com.github.catvod.utils.Util; import com.github.catvod.utils.Util;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.File; import java.io.File;
@ -83,7 +83,7 @@ public class Bili extends Spider {
@Override @Override
public void init(Context context, String extend) throws Exception { public void init(Context context, String extend) throws Exception {
this.extend = JsonParser.parseString(extend).getAsJsonObject(); this.extend = Json.parse(extend).getAsJsonObject();
setCookie(); setCookie();
setAudio(); setAudio();
} }
@ -173,7 +173,7 @@ public class Bili extends Spider {
episode = new ArrayList<>(); episode = new ArrayList<>();
api = "https://api.bilibili.com/x/web-interface/archive/related?bvid=" + bvid; api = "https://api.bilibili.com/x/web-interface/archive/related?bvid=" + bvid;
json = OkHttp.string(api, getHeader()); json = OkHttp.string(api, getHeader());
JsonArray array = JsonParser.parseString(json).getAsJsonObject().getAsJsonArray("data"); JsonArray array = Json.parse(json).getAsJsonObject().getAsJsonArray("data");
for (int i = 0; i < array.size(); i++) { for (int i = 0; i < array.size(); i++) {
JsonObject object = array.get(i).getAsJsonObject(); JsonObject object = array.get(i).getAsJsonObject();
episode.add(object.get("title").getAsString() + "$" + object.get("aid").getAsInt() + "+" + object.get("cid").getAsInt() + "+" + TextUtils.join(":", acceptQuality) + "+" + TextUtils.join(":", acceptDesc)); episode.add(object.get("title").getAsString() + "$" + object.get("aid").getAsInt() + "+" + object.get("cid").getAsInt() + "+" + TextUtils.join(":", acceptQuality) + "+" + TextUtils.join(":", acceptDesc));

View File

@ -7,8 +7,8 @@ import com.github.catvod.bean.Result;
import com.github.catvod.bean.Vod; import com.github.catvod.bean.Vod;
import com.github.catvod.crawler.Spider; import com.github.catvod.crawler.Spider;
import com.github.catvod.net.OkHttp; import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Util; import com.github.catvod.utils.Util;
import com.google.gson.JsonParser;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONObject; import org.json.JSONObject;
@ -49,7 +49,7 @@ public class Douban extends Spider {
String recommendUrl = "http://api.douban.com/api/v2/subject_collection/subject_real_time_hotest/items" + apikey; String recommendUrl = "http://api.douban.com/api/v2/subject_collection/subject_real_time_hotest/items" + apikey;
JSONObject jsonObject = new JSONObject(OkHttp.string(recommendUrl, getHeader())); JSONObject jsonObject = new JSONObject(OkHttp.string(recommendUrl, getHeader()));
JSONArray items = jsonObject.optJSONArray("subject_collection_items"); JSONArray items = jsonObject.optJSONArray("subject_collection_items");
return Result.string(classes, parseVodListFromJSONArray(items), filter ? JsonParser.parseString(OkHttp.string(extend)) : null); return Result.string(classes, parseVodListFromJSONArray(items), filter ? Json.parse(OkHttp.string(extend)) : null);
} }
@Override @Override

View File

@ -10,7 +10,7 @@ import com.github.catvod.bean.jianpian.Detail;
import com.github.catvod.bean.jianpian.Resp; import com.github.catvod.bean.jianpian.Resp;
import com.github.catvod.crawler.Spider; import com.github.catvod.crawler.Spider;
import com.github.catvod.net.OkHttp; import com.github.catvod.net.OkHttp;
import com.google.gson.JsonParser; import com.github.catvod.utils.Json;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.ArrayList; import java.util.ArrayList;
@ -45,7 +45,7 @@ public class Jianpian extends Spider {
List<String> typeIds = Arrays.asList("0", "1", "2", "3", "4"); List<String> typeIds = Arrays.asList("0", "1", "2", "3", "4");
List<String> typeNames = Arrays.asList("全部", "电影", "电视剧", "动漫", "综艺"); List<String> typeNames = Arrays.asList("全部", "电影", "电视剧", "动漫", "综艺");
for (int i = 0; i < typeIds.size(); i++) classes.add(new Class(typeIds.get(i), typeNames.get(i))); for (int i = 0; i < typeIds.size(); i++) classes.add(new Class(typeIds.get(i), typeNames.get(i)));
return Result.string(classes, JsonParser.parseString(OkHttp.string(extend))); return Result.string(classes, Json.parse(OkHttp.string(extend)));
} }
@Override @Override

View File

@ -6,9 +6,9 @@ import com.github.catvod.bean.Class;
import com.github.catvod.bean.Result; import com.github.catvod.bean.Result;
import com.github.catvod.bean.Vod; import com.github.catvod.bean.Vod;
import com.github.catvod.net.OkHttp; import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Util; import com.github.catvod.utils.Util;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import org.jsoup.Jsoup; import org.jsoup.Jsoup;
import org.jsoup.nodes.Document; import org.jsoup.nodes.Document;
@ -42,7 +42,7 @@ public class Wogg extends Ali {
@Override @Override
public void init(Context context, String extend) { public void init(Context context, String extend) {
ext = JsonParser.parseString(extend).getAsJsonObject(); ext = Json.parse(extend).getAsJsonObject();
super.init(context, ext.has("token") ? ext.get("token").getAsString() : ""); super.init(context, ext.has("token") ? ext.get("token").getAsString() : "");
} }
@ -58,7 +58,7 @@ public class Wogg extends Ali {
classes.add(new Class(mather.group(1), e.text().trim())); classes.add(new Class(mather.group(1), e.text().trim()));
} }
} }
return Result.string(classes, parseVodListFromDoc(doc), url.isEmpty() ? null : JsonParser.parseString(OkHttp.string(url))); return Result.string(classes, parseVodListFromDoc(doc), url.isEmpty() ? null : Json.parse(OkHttp.string(url)));
} }
@Override @Override

View File

@ -0,0 +1,15 @@
package com.github.catvod.utils;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
public class Json {
public static JsonElement parse(String json) {
try {
return JsonParser.parseString(json);
} catch (Exception e) {
return new JsonParser().parse(json);
}
}
}

Binary file not shown.

View File

@ -1 +1 @@
bc 37 a9 26 8b 9f 51 bf e5 e3 52 46 2f dd ea 73 d2f7d53575d81fb021c8602c84a8f210

View File

@ -1,8 +1,5 @@
package com.fongmi.tools; package com.fongmi.tools;
import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;
import java.io.IOException; import java.io.IOException;
import java.net.URI; import java.net.URI;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
@ -16,36 +13,27 @@ import okhttp3.Request;
public class Utils { public class Utils {
public static boolean isJson(String text) { public static String call(String url) throws IOException {
try { return new OkHttpClient().newCall(new Request.Builder().url(url).build()).execute().body().string();
JsonParser.parseString(text); }
return true;
} catch (JsonSyntaxException e) {
return false;
}
}
public static String call(String url) throws IOException { public static String getFile(Class<?> clz, String fileName) {
return new OkHttpClient().newCall(new Request.Builder().url(url).build()).execute().body().string(); try {
} StringBuilder sb = new StringBuilder();
URI uri = clz.getClassLoader().getResource(fileName).toURI();
Stream<String> stream = Files.lines(Paths.get(uri), StandardCharsets.UTF_8);
stream.forEach(s -> sb.append(s).append("\n"));
return sb.toString();
} catch (Exception e) {
return "";
}
}
public static String getFile(Class<?> clz, String fileName) { public static String getFile(String fileName) {
try { try {
StringBuilder sb = new StringBuilder(); return Files.readString(Path.of(fileName));
URI uri = clz.getClassLoader().getResource(fileName).toURI(); } catch (Exception e) {
Stream<String> stream = Files.lines(Paths.get(uri), StandardCharsets.UTF_8); return "";
stream.forEach(s -> sb.append(s).append("\n")); }
return sb.toString(); }
} catch (Exception e) {
return "";
}
}
public static String getFile(String fileName) {
try {
return Files.readString(Path.of(fileName));
} catch (Exception e) {
return "";
}
}
} }