首先,你需要一個FacebookFriend
類(使用公共領域,爲簡單起見,沒有干將):
public class FacebookFriend {
public String name;
public String id;
}
如果你創建了一個包裝類,如:
public class JsonResponse {
public List<FacebookFriend> data;
}
生活變得簡單得多,你可以簡單地做:
JsonResponse resp = new Gson().fromJson(myJsonString, JsonResponse.class);
並且完成它。
如果你不想創建一個data
場的外圍類,你會使用GSON解析JSON,然後提取該數組:
JsonParser p = new JsonParser();
JsonElement e = p.parse(myJsonString);
JsonObject obj = e.getAsJsonObject();
JsonArray ja = obj.get("data").getAsJsonArray();
(你可以明顯鏈中的所有這些方法,但我在這個演示中明確表示)
現在,您可以使用Gson直接映射到您的班級。
FacebookFriend[] friendArray = new Gson().fromJson(ja, FacebookFriend[].class);
儘管如此,但說實話,最好使用一個Collection
代替:
Type type = new TypeToken<Collection<FacebookFriend>>(){}.getType();
Collection<FacebookFriend> friendCollection = new Gson().fromJson(ja, type);
再次downvoting,不說爲什麼。非常具有啓發性。 – VansFannel