日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Gson进行json数据转换list to json 和json to list

發布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Gson进行json数据转换list to json 和json to list 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:https://blog.csdn.net/god2030/article/details/51140450? 感謝經過比較,gson和其他現有java json類庫最大的不同時gson需要序列化得實體類不需要使用annotation來標識需要序列化得字段,同時gson又可以通過使用annotation來靈活配置需要序列化的字段。?
下面是一個簡單的例子:?
Java代碼??

public?class?Person?{??private?String?name;??private?int?age;??/**?*?@return?the?name?*/??public?String?getName()?{??return?name;??}??/**?*?@param?name?the?name?to?set?*/??public?void?setName(String?name)?{??this.name?=?name;??}??/**?*?@return?the?age?*/??public?int?getAge()?{??return?age;??}??/**?*?@param?age?the?age?to?set?*/??public?void?setAge(int?age)?{??this.age?=?age;??}??@Override??public?String?toString()??{??return?name?+?":"?+age;??}?? }??實體很簡單,兩個字段,當然實體中的字段也可以是List或者Set類型的。? Java代碼?? Gson?gson?=?new?Gson();?? List<Person>?persons?=?new?ArrayList<Person>();?? for?(int?i?=?0;?i?<?10;?i++)?{??Person?p?=?new?Person();??p.setName("name"?+?i);??p.setAge(i?*?5);??persons.add(p);?? }?? String?str?=?gson.toJson(persons);??


上面的代碼重點是Gson對象,它提供了toJason()方法將對象轉換成Json字符串,上面代碼的str對象值為:?
[{"name":"name0","age":0},{"name":"name1","age":5},{"name":"name2","age":10},{"name":"name3","age":15},{"name":"name4","age":20},{"name":"name5","age":25},{"name":"name6","age":30},{"name":"name7","age":35},{"name":"name8","age":40},{"name":"name9","age":45}]?
很標準的json數據,很簡單吧,呵呵。?
下面來看看gson的反序列化,Gson提供了fromJson()方法來實現從Json相關對象到java實體的方法。?
在日常應用中,我們一般都會碰到兩種情況,轉成單一實體對象和轉換成對象列表或者其他結構。?
先來看第一種:?
比如json字符串為:[{"name":"name0","age":0}]?
代碼:?
Java代碼??

Person?person?=?gson.fromJson(str,?Person.class);??


提供兩個參數,分別是json字符串以及需要轉換對象的類型。?
第二種,轉換成列表類型:?
代碼:?
Java代碼??

List<Person>?ps?=?gson.fromJson(str,?new?TypeToken<List<Person>>(){}.getType());?? for(int?i?=?0;?i?<?ps.size()?;?i++)?? {??Person?p?=?ps.get(i);??System.out.println(p.toString());?? }??


可以看到上面的代碼使用了TypeToken,它是gson提供的數據類型轉換器,可以支持各種數據集合類型轉換。?
?

總結

以上是生活随笔為你收集整理的使用Gson进行json数据转换list to json 和json to list的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。