JAVA Gson的簡單使用小記
阿新 • • 發佈:2018-11-30
小記。 如果看完想選擇其他操作json資料的路子,可以看我另一篇,fastjson大記(哈哈哈)。
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
對資料的操作:
import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import static jdk.nashorn.internal.objects.Global.print; /** * @Author : JCccc * @CreateTime : 2018-11-27 * @Description : * @Point: Keep a good mood **/ public class testMain { public static void main(String[] args) { //手動創的一個實體類, 裡面欄位全是String型別 User userTest=new User(); userTest.setName("joke"); userTest.setAge("16歲"); userTest.setHeight("60Kg"); userTest.setSex("男"); Gson gson=new Gson(); String jsonStr=gson.toJson(userTest,User.class); System.out.println("物件轉JSON---"+jsonStr); User userTestNew=gson.fromJson(jsonStr,User.class); System.out.println("JSON轉物件---"+userTestNew.toString()); Map map=new LinkedHashMap(); map.put("name","merry"); map.put("age","17歲"); map.put("height","62Kg"); map.put("sex","女"); String mapJsonStr=gson.toJson(map); System.out.println("map轉JSON---"+mapJsonStr); List<User> userList = new ArrayList<>(); userList.add(userTest); // System.out.println(userList.toString()); String listJsonStr=gson.toJson(userList); System.out.println("list轉JSON---"+listJsonStr); List<User> retList = gson.fromJson(listJsonStr,new TypeToken<List<User>>(){}.getType()); System.out.println("listJSON轉list---"+retList); //報錯 // List<User> retList1 = gson.fromJson(mapJsonStr,new TypeToken<List<User>>(){}.getType()); // System.out.println("mapJSON轉list---"+retList1); //報錯 /*List<User> retList2 = gson.fromJson(jsonStr,new TypeToken<List<User>>(){}.getType()); System.out.println("物件JSON轉list---"+retList2);*/ } }
執行結果:
物件轉JSON---{"name":"joke","age":"16歲","height":"60Kg","sex":"男"}
map轉JSON---{"name":"merry","age":"17歲","height":"62Kg","sex":"女"}
JSON轉物件---User{name='merry', age='17歲', height='62Kg', sex='女'}
list轉JSON---[{"name":"joke","age":"16歲","height":"60Kg","sex":"男"}]
listJSON轉list---[User{name='joke', age='16歲', height='60Kg', sex='男'}]
好了,小記到此。