Gson是Google發(fā)布的開源庫,可以將Java對象轉(zhuǎn)換成JSON格式的字符串,也可以將JSON格式的字符串轉(zhuǎn)換成Java對象。下面將重點介紹Gson中字符串轉(zhuǎn)JSON對象數(shù)組的方法。
Gson提供了fromJson()方法,可以將JSON格式的字符串轉(zhuǎn)換成Java對象。以下是fromJson()方法的聲明:
publicT fromJson(JsonElement json, Class classOfT) throws JsonSyntaxException
其中,json參數(shù)是要轉(zhuǎn)換的JSON格式字符串,classOfT參數(shù)是要轉(zhuǎn)換成的Java對象的類類型。toJson()方法返回的是Object類型,需要進行強制類型轉(zhuǎn)換。
如果要將JSON格式的字符串轉(zhuǎn)換成Java對象數(shù)組,則需要使用TypeToken類。TypeToken是反射中的一個使用,它可以獲取泛型的具體類型。以下是使用TypeToken將JSON格式的字符串轉(zhuǎn)換成Java對象數(shù)組的示例:
String jsonString = "[{\"id\":1,\"name\":\"Tom\"},{\"id\":2,\"name\":\"Jerry\"}]"; Type userListType = new TypeToken<List<User>>(){}.getType(); List<User> userList = gson.fromJson(jsonString, userListType);
以上代碼首先定義了一個包含User對象的JSON格式字符串,接著創(chuàng)建一個TypeToken對象,用于獲取User對象的類型。最后,將JSON格式的字符串轉(zhuǎn)換成Java對象數(shù)組,存儲在List類型的userList對象中。
總結(jié):Gson是一個功能豐富的開源庫,它可以將Java對象轉(zhuǎn)換成JSON格式的字符串,還可以將JSON格式的字符串轉(zhuǎn)換成Java對象數(shù)組。使用Gson的fromJson()方法需要注意第二個參數(shù)是要轉(zhuǎn)換成的Java對象的類類型,而將JSON格式的字符串轉(zhuǎn)換成Java對象數(shù)組則需要使用TypeToken類。