GSON是Google提供的一個Java庫,用于將Java對象轉(zhuǎn)換為JSON格式的字符串,或者將JSON格式的字符串轉(zhuǎn)換為對應(yīng)的Java對象。它可以很方便地幫助我們在Java和JSON之間進(jìn)行數(shù)據(jù)交互。接下來我們將詳細(xì)介紹GSON如何將Java對象轉(zhuǎn)換為JSON字符串。
Gson gson = new Gson(); //創(chuàng)建GSON對象 Student stu = new Student("Tom", 18, "male"); //創(chuàng)建一個Java對象 String jsonStr = gson.toJson(stu); //將Java對象轉(zhuǎn)換為JSON字符串 System.out.println(jsonStr); //打印輸出結(jié)果
以上代碼中,我們首先創(chuàng)建了一個GSON對象,然后創(chuàng)建了一個Student對象,接著使用GSON對象的toJson()方法將Student對象轉(zhuǎn)換為JSON字符串。最后我們通過打印輸出結(jié)果可以看到,JSON字符串為:
{"name":"Tom","age":18,"gender":"male"}
可以看到,GSON自動將Java對象的屬性轉(zhuǎn)換為了JSON字符串中的鍵值對,且字符串中的屬性名與Java對象中的屬性名保持一致。
除了將一個Java對象轉(zhuǎn)換為JSON字符串之外,GSON還可以將一個包含多個Java對象的列表轉(zhuǎn)換為JSON字符串。
List<Student> stuList = new ArrayList<>(); //創(chuàng)建一個包含多個Student對象的列表 stuList.add(new Student("Tom", 18, "male")); stuList.add(new Student("Lucy", 20, "female")); stuList.add(new Student("Jim", 19, "male")); String jsonStr = gson.toJson(stuList); //將列表轉(zhuǎn)換為JSON字符串 System.out.println(jsonStr); //打印輸出結(jié)果
代碼中我們創(chuàng)建了一個包含多個Student對象的列表,并使用GSON對象的toJson()方法將列表轉(zhuǎn)換為JSON字符串。輸出結(jié)果如下所示:
[{"name":"Tom","age":18,"gender":"male"},{"name":"Lucy","age":20,"gender":"female"},{"name":"Jim","age":19,"gender":"male"}]
可以看到,GSON將列表中每個元素轉(zhuǎn)換為了JSON字符串中的一個對象,對象之間用逗號分隔,并且字符串中的鍵值對仍然與Java對象中的屬性名一致。