| 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> T changeGsonToBean(String gsonString, Class<T> 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> 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 <T> List<T> changeGsonToList(String gsonString, Class<T> cls) { | 
|         Gson gson = new Gson(); | 
|         List<T> list = gson.fromJson(gsonString, new TypeToken<List<T>>() { | 
|         }.getType()); | 
|         return list; | 
|     } | 
|   | 
|     public static <T> String changeGsonToJson(T t) { | 
|         Gson gson = new Gson(); | 
|         return gson.toJson(t); | 
|     } | 
|   | 
|     public static <T> List<T> fromJsonArray(String json, Class<T> clazz) throws Exception { | 
|         List<T> lst = new ArrayList<T>(); | 
|   | 
|         JsonArray array = new JsonParser().parse(json).getAsJsonArray(); | 
|         for(final JsonElement elem : array){ | 
|             lst.add(new Gson().fromJson(elem, clazz)); | 
|         } | 
|         return lst; | 
|     } | 
|   | 
|   | 
|   | 
|     public static <T> List<Map<String, T>> changeGsonToListMaps( | 
|             String gsonString) { | 
|         List<Map<String, T>> list = null; | 
|         Gson gson = new Gson(); | 
|         list = gson.fromJson(gsonString, new TypeToken<List<Map<String, T>>>() { | 
|         }.getType()); | 
|         return list; | 
|     } | 
|   | 
|     public static <T> Map<String, T> changeGsonToMaps(String gsonString) { | 
|         Map<String, T> map = null; | 
|         Gson gson = new Gson(); | 
|         map = gson.fromJson(gsonString, new TypeToken<Map<String, T>>() { | 
|         }.getType()); | 
|         return map; | 
|     } | 
|   | 
| } |