參考《第一行代碼》地梨,簡(jiǎn)書的怪盜kidou 寫的《你真的會(huì)用GSON嗎》
Java中最常用的類庫(kù)有:JSON-Java缔恳、Gson、Jackson万细、FastJson等.
- GSON:(gogle開源的一個(gè)json解析類庫(kù))入門級(jí)使用:
1.fromJson() 解析json纸泄,實(shí)現(xiàn)了反序列化.
2.toJson() 生成json,實(shí)現(xiàn)了序列化. - 基本數(shù)據(jù)類型的解析
Gson gson = new Gson();
int i = gson.fromJson("100", int.class);//100
double d = gson.fromJson(""99.99"", double.class);//99.99
boolean b = gson.fromJson("true", boolean.class); // true
String str = gson.fromJson("String", String.class); // String
注:第三行的轉(zhuǎn)義符號(hào) - 基本數(shù)據(jù)類型的生成
Gson gson = new Gson();
String jsonNumber = gson.toJson(100); // 100
String jsonBoolean = gson.toJson(false); // false
String jsonString = gson.toJson("String"); //"String" -
簡(jiǎn)單實(shí)體類的生成與解析
例:1.一個(gè)User類
User.png
2.解析json為User對(duì)象
fromJson.png
3.將一個(gè)User對(duì)象生成json
toJson.png
- GSON中使用泛型
當(dāng)解析較為復(fù)雜的數(shù)組時(shí),Gson為我們提供了TypeToken
來(lái)實(shí)現(xiàn)對(duì)泛型的支持衡便,它可以幫助我們將期望解析成的數(shù)據(jù)類型傳入到fromJson()方法中。
例:
List<Person> people=gson.fromJson(jsonData,new
TypeToken<List<Person>>(){}.getType());