Gson是一個用于將JSON數據對象序列化和反序列化的Java庫。使用Gson可以方便地解析JSON文本,將JSON數據對象轉換成Java對象或者將Java對象轉換成JSON數據,同時也支持給Java對象添加自定義的反序列化或序列化的方式。
比如我們有以下JSON數據對象:
{ "name": "Lucy", "age": 25, "city": "Shanghai" }
現在我們想將其轉換成Java對象,可以使用如下代碼:
Gson gson = new Gson(); String jsonStr = "{\"name\":\"Lucy\",\"age\":25,\"city\":\"Shanghai\"}"; Person person = gson.fromJson(jsonStr, Person.class);
上面的代碼首先創建了一個Gson對象,接著通過fromJson方法將JSON文本轉換成Java對象,由于我們要將JSON數據對象轉換成Person對象,所以第二個參數是Person.class。
上面代碼中Person對象的定義如下:
public class Person { private String name; private int age; private String city; // 省略getter和setter方法 }
如果我們想將Java對象轉換成JSON文本,可以使用如下代碼:
Gson gson = new Gson(); Person person = new Person(); person.setName("Lucy"); person.setAge(25); person.setCity("Shanghai"); String jsonStr = gson.toJson(person);
上面的代碼首先創建了一個Gson對象,接著通過toJson方法將Java對象轉換成JSON文本。
在使用Gson解析JSON數據對象的時候,需要注意的是JSON數據對象中的鍵名和Java對象中的屬性名要保持一致,如果不一致可以通過使用@SerializedName注解指定鍵名。
同時,Gson還支持類型適配器和類型轉換器的使用,這兩者分別用于處理Java對象和JSON數據對象中類型不一致的情況,具體使用可以參考Gson的官方文檔。