package com.doumee.lib_coremodel.http.utils; import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonParser; import com.google.gson.JsonSyntaxException; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; import java.util.Map; import timber.log.Timber; public class GsonTools { public GsonTools() { // TODO Auto-generated constructor stub } public static T changeGsonToBean(String gsonString, Class cls) { Gson gson = new Gson(); T t=null; //t = gson.fromJson(gsonString, cls); try { Timber.tag("HTTP==>").d("Response: "+cls.getSimpleName()+"=== "+gsonString); t = gson.fromJson(gsonString, cls); } catch (JsonSyntaxException e) { e.printStackTrace(); } return t; } public static T changeGsonToBean(String gsonString, Type typeOfT) { Gson gson = new Gson(); T t=null; //t = gson.fromJson(gsonString, cls); try { Timber.tag("HTTP==>").d("Response: === "+gsonString); t = gson.fromJson(gsonString, typeOfT); } catch (JsonSyntaxException e) { e.printStackTrace(); } return t; } public static List changeGsonToList(String gsonString, Class cls) { Gson gson = new Gson(); List list = gson.fromJson(gsonString, new TypeToken>() { }.getType()); return list; } public static String changeGsonToJson(T t) { Gson gson = new Gson(); return gson.toJson(t); } public static List fromJsonArray(String json, Class clazz) throws Exception { List lst = new ArrayList(); JsonArray array = new JsonParser().parse(json).getAsJsonArray(); for(final JsonElement elem : array){ lst.add(new Gson().fromJson(elem, clazz)); } return lst; } public static List> changeGsonToListMaps( String gsonString) { List> list = null; Gson gson = new Gson(); list = gson.fromJson(gsonString, new TypeToken>>() { }.getType()); return list; } public static Map changeGsonToMaps(String gsonString) { Map map = null; Gson gson = new Gson(); map = gson.fromJson(gsonString, new TypeToken>() { }.getType()); return map; } }