Gson是Google開發(fā)的用于Java對象和JSON數(shù)據(jù)之間相互轉(zhuǎn)換的Java類庫。它可以將Java對象轉(zhuǎn)化為JSON字符串,也可以將JSON字符串轉(zhuǎn)化為Java對象。
使用Gson將Java對象轉(zhuǎn)化為JSON字符串需要使用toJson方法,該方法需要一個Java對象作為參數(shù)。例如:
Person person = new Person("張三", 18); Gson gson = new Gson(); String json = gson.toJson(person);
上述代碼將Java對象person轉(zhuǎn)為JSON字符串,并將JSON字符串賦值給變量json。
使用Gson將JSON字符串轉(zhuǎn)化為Java對象需要使用fromJson方法,該方法需要兩個參數(shù),第一個參數(shù)是JSON字符串,第二個參數(shù)是目標(biāo)Java對象的Class對象。例如:
String json = "{\"name\":\"張三\",\"age\":18}"; Gson gson = new Gson(); Person person = gson.fromJson(json, Person.class);
上述代碼將JSON字符串json轉(zhuǎn)為Java對象,并將Java對象賦值給變量person。
Gson還支持將JSON字符串轉(zhuǎn)化為JsonElement類型,JsonElement是Gson提供的一個抽象類,它可以表示任意的JSON元素,包括JSON對象、JSON數(shù)組、JSON字符串、JSON數(shù)字、JSON布爾值和JSON空值。例如:
String json = "{\"name\":\"張三\",\"age\":18}"; Gson gson = new Gson(); JsonElement jsonElement = gson.fromJson(json, JsonElement.class);
上述代碼將JSON字符串json轉(zhuǎn)為JsonElement對象,并將JsonElement對象賦值給變量jsonElement。
Gson也支持將JsonElement對象轉(zhuǎn)化為JSON字符串,仍然使用toJson方法即可。例如:
String json = "{\"name\":\"張三\",\"age\":18}"; Gson gson = new Gson(); JsonElement jsonElement = gson.fromJson(json, JsonElement.class); String jsonString = gson.toJson(jsonElement);
上述代碼將JSON字符串轉(zhuǎn)為JsonElement對象,并將JsonElement對象轉(zhuǎn)為JSON字符串,并將JSON字符串賦值給變量jsonString。