Fix json problem

pull/77/head
FongMi 2 years ago
parent 350ce892e3
commit a3d41c29dc
  1. 4
      app/src/main/java/com/github/catvod/api/AliYun.java
  2. 6
      app/src/main/java/com/github/catvod/spider/Bili.java
  3. 4
      app/src/main/java/com/github/catvod/spider/Douban.java
  4. 4
      app/src/main/java/com/github/catvod/spider/Jianpian.java
  5. 6
      app/src/main/java/com/github/catvod/spider/Wogg.java
  6. 15
      app/src/main/java/com/github/catvod/utils/Json.java
  7. BIN
      jar/custom_spider.jar
  8. 2
      jar/custom_spider.jar.md5
  9. 58
      tools/src/main/java/com/fongmi/tools/Utils.java

@ -34,6 +34,7 @@ import com.github.catvod.net.OkHttp;
import com.github.catvod.net.OkResult;
import com.github.catvod.spider.Init;
import com.github.catvod.spider.Proxy;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Notify;
import com.github.catvod.utils.Path;
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.Util;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.ByteArrayInputStream;
import java.io.File;
@ -336,7 +336,7 @@ public class AliYun {
param.addProperty("share_id", shareId);
param.addProperty("expire_sec", 600);
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);
return url;
} catch (Exception e) {

@ -15,11 +15,11 @@ import com.github.catvod.bean.bili.Page;
import com.github.catvod.bean.bili.Resp;
import com.github.catvod.crawler.Spider;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Path;
import com.github.catvod.utils.Util;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.ByteArrayInputStream;
import java.io.File;
@ -83,7 +83,7 @@ public class Bili extends Spider {
@Override
public void init(Context context, String extend) throws Exception {
this.extend = JsonParser.parseString(extend).getAsJsonObject();
this.extend = Json.parse(extend).getAsJsonObject();
setCookie();
setAudio();
}
@ -173,7 +173,7 @@ public class Bili extends Spider {
episode = new ArrayList<>();
api = "https://api.bilibili.com/x/web-interface/archive/related?bvid=" + bvid;
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++) {
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));

@ -7,8 +7,8 @@ import com.github.catvod.bean.Result;
import com.github.catvod.bean.Vod;
import com.github.catvod.crawler.Spider;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Util;
import com.google.gson.JsonParser;
import org.json.JSONArray;
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;
JSONObject jsonObject = new JSONObject(OkHttp.string(recommendUrl, getHeader()));
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

@ -10,7 +10,7 @@ import com.github.catvod.bean.jianpian.Detail;
import com.github.catvod.bean.jianpian.Resp;
import com.github.catvod.crawler.Spider;
import com.github.catvod.net.OkHttp;
import com.google.gson.JsonParser;
import com.github.catvod.utils.Json;
import java.net.URLEncoder;
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> typeNames = Arrays.asList("全部", "电影", "电视剧", "动漫", "综艺");
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

@ -6,9 +6,9 @@ import com.github.catvod.bean.Class;
import com.github.catvod.bean.Result;
import com.github.catvod.bean.Vod;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Json;
import com.github.catvod.utils.Util;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
@ -42,7 +42,7 @@ public class Wogg extends Ali {
@Override
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() : "");
}
@ -58,7 +58,7 @@ public class Wogg extends Ali {
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

@ -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.

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

@ -1,8 +1,5 @@
package com.fongmi.tools;
import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;
import java.io.IOException;
import java.net.URI;
import java.nio.charset.StandardCharsets;
@ -16,36 +13,27 @@ import okhttp3.Request;
public class Utils {
public static boolean isJson(String text) {
try {
JsonParser.parseString(text);
return true;
} catch (JsonSyntaxException e) {
return false;
}
}
public static String call(String url) throws IOException {
return new OkHttpClient().newCall(new Request.Builder().url(url).build()).execute().body().string();
}
public static String getFile(Class<?> clz, String fileName) {
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(String fileName) {
try {
return Files.readString(Path.of(fileName));
} catch (Exception e) {
return "";
}
}
public static String call(String url) throws IOException {
return new OkHttpClient().newCall(new Request.Builder().url(url).build()).execute().body().string();
}
public static String getFile(Class<?> clz, String fileName) {
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(String fileName) {
try {
return Files.readString(Path.of(fileName));
} catch (Exception e) {
return "";
}
}
}

Loading…
Cancel
Save