首先,你需要一个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