pull/123/head
FongMi 3 years ago
parent bc0c1811ff
commit 083eab8154
  1. 3
      app/src/main/java/com/fongmi/android/tv/player/ParseTask.java
  2. 11
      app/src/main/java/com/fongmi/android/tv/utils/Json.java

@ -7,6 +7,7 @@ import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.net.OKHttp;
import com.fongmi.android.tv.server.Server;
import com.fongmi.android.tv.ui.custom.CustomWebView;
import com.fongmi.android.tv.utils.Json;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
@ -77,7 +78,7 @@ public class ParseTask {
HashMap<String, String> headers = new HashMap<>();
for (String key : object.keySet()) if (key.equalsIgnoreCase("user-agent") || key.equalsIgnoreCase("referer")) headers.put(key, object.get(key).getAsString());
object = object.has("data") ? object.getAsJsonObject("data") : object;
onParseSuccess(headers, object.get("url").getAsString(), "");
onParseSuccess(headers, Json.safeString(object, "url"), "");
} catch (Exception e) {
e.printStackTrace();
onParseError();

@ -26,14 +26,17 @@ public class Json {
}
public static String safeString(JsonObject obj, String key) {
if (obj.has(key)) return obj.getAsJsonPrimitive(key).getAsString().trim();
else return "";
try {
return obj.getAsJsonPrimitive(key).getAsString().trim();
} catch (Exception e) {
return "";
}
}
public static List<String> safeListString(JsonObject obj, String key) {
List<String> result = new ArrayList<>();
if (!obj.has(key)) return result;
if (obj.get(key).isJsonObject()) result.add(obj.get(key).getAsString());
if (obj.get(key).isJsonObject()) result.add(safeString(obj, key));
else for (JsonElement opt : obj.getAsJsonArray(key)) result.add(opt.getAsString());
return result;
}
@ -59,7 +62,7 @@ public class Json {
HashMap<String, String> map = new HashMap<>();
JsonObject object = safeObject(element);
if (object == null) return map;
for (String key : object.keySet()) map.put(key, object.get(key).getAsString());
for (String key : object.keySet()) map.put(key, safeString(object, key));
return map;
}
}

Loading…
Cancel
Save