1. 程式人生 > >Gson解析陣列和解析集合的方法

Gson解析陣列和解析集合的方法

  首先用Gson解析實體類好辦,直接用
new Gson().fromJson(jsonString,object.class);
 但是如果我們想要解析,一個 String[] 型別的陣列能顯然用
new Gson().fromJson(jsonString,String.class);是解析不出來的。
 自然它肯定有解決的辦法,我們用
new Gson().fromJson(jsonString,String[].class);此時String[]當成一個實體類。
 這時我們可能會想那我們的集合可不可以也用這種方法啊呢!來看看這段程式碼 
new Gson().fromJson(jsonString,List<Object>
.class)看起來沒毛病但是寫程式碼是就報錯如下圖
對於Java來說List<String>和List<User>這倆個的位元組碼檔案只一個那就是List.class,這是Java泛型使用時要注意的問題 泛型擦除。
當然有解決辦法:
new Gson().fromJson(jsonArray, new TypeToken<List<Object>>(){}.getType());
Gson為我們提供了TypeToken來實現對泛型的支援,