Gson是一個Java庫,用于將Java對象轉換成JSON字符串,以及將JSON字符串轉換成Java對象。它支持泛型,并通過注解提供了非常方便的方式來定義JSON數據與Java對象之間的映射關系。
有時候我們需要將一個JSON字符串轉換成Java對象,這個時候就需要使用Gson中的fromJson()方法。這個方法需要傳入兩個參數,第一個參數是要轉換的JSON字符串,第二個參數是要轉換成的Java對象的Class類型。
//定義Java對象的類 class User { private String name; private int age; //構造函數和getter/setter方法省略 } //將JSON字符串轉換成Java對象 String jsonStr = "{\"name\":\"Tom\", \"age\":18}"; User user = new Gson().fromJson(jsonStr, User.class);
與fromJson()方法相反,還有一個toJson()方法,它可以將一個Java對象轉換成JSON字符串。
//將Java對象轉換成JSON字符串 User user = new User(); user.setName("Tom"); user.setAge(18); String jsonStr = new Gson().toJson(user);
在使用Gson進行JSON轉Java對象時,可能會遇到一些問題,比如JSON字符串中的某個字段名稱與Java對象中的屬性名稱不一致。這個時候,我們可以使用Gson中的注解來解決這個問題。
//Java對象的類 class User { //使用@SerializedName注解來定義JSON字段名稱 @SerializedName("user_name") private String name; private int age; //構造函數和getter/setter方法省略 } //JSON字符串 String jsonStr = "{\"user_name\":\"Tom\", \"age\":18}"; User user = new Gson().fromJson(jsonStr, User.class);
除了@SerializedName注解,Gson中還有其它很多有用的注解,比如@Expose、@Since、@Until等。這些注解可以幫助我們控制JSON的解析和序列化過程。
總之,Gson是一個非常方便且功能強大的Java庫,它可以幫助我們快速地將Java對象和JSON字符串相互轉換。