Gson json轉list、陣列
阿新 • • 發佈:2018-12-16
使用Gson,把json轉成list或陣列,主要是通過Gson類中的fromJson(String json,Type typeOfT)這個方法。
重點就是怎麼獲取這個typeOfT。
我知道的有兩種方式:
方式一: TypeToken<List<String>> type = new TypeToken<List<String>>(){}; Type typeOfT = type.getType(); 這種方式簡單,但是不適合寫工具類,要對不同的Object寫TypeToken,多了就比較煩了。
方式二: TypeToken提供了getArray(Type componentType)這個方法,而Class又實現了Type介面,所以寫工具類就方便多了。 public static Object[] json2ObjectArray(String json, Class cls) { TypeToken<?> array = TypeToken.getArray(cls); Gson gson = new Gson(); Object[] objects = gson.fromJson(json, array.getType()); return objects; } 這裡獲取的是陣列,雖然不是list,但是轉換也是很方便的。