From 65027e0db23e0137b2017308eae1c70d76487274 Mon Sep 17 00:00:00 2001 From: FongMi Date: Fri, 19 Aug 2022 10:55:51 +0800 Subject: [PATCH] Fix header parse problem --- .../main/java/com/fongmi/android/tv/utils/Json.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Json.java b/app/src/main/java/com/fongmi/android/tv/utils/Json.java index d9d8e96e3..3e3351dd8 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Json.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Json.java @@ -2,6 +2,7 @@ package com.fongmi.android.tv.utils; import com.google.gson.JsonElement; import com.google.gson.JsonObject; +import com.google.gson.JsonParser; import java.util.ArrayList; import java.util.HashMap; @@ -22,10 +23,16 @@ public class Json { return result; } + public static JsonObject safeObject(JsonElement element) { + if (element.isJsonObject()) return element.getAsJsonObject(); + else if (element.isJsonPrimitive()) return JsonParser.parseString(element.getAsJsonPrimitive().getAsString()).getAsJsonObject(); + return null; + } + public static HashMap toMap(JsonElement element) { HashMap map = new HashMap<>(); - if (!element.isJsonObject()) return map; - JsonObject object = element.getAsJsonObject(); + JsonObject object = safeObject(element); + if (object == null) return map; for (String key : object.keySet()) map.put(key, object.get(key).getAsString()); return map; }