Android Parsing json array to generic class using Gson


Suppose we have a json :

  "total_count": 132,
  "page_size": 2,
  "page_index": 1,
  "twitter_posts": [
      "created_on": 1465935152,
      "tweet_id": 210462857140252672,
      "tweet": "Along with our new #Twitterbird, we've also updated our Display Guidelines",
      "url": ""
      "created_on": 1465995741,
      "tweet_id": 735128881808691200,
      "tweet": "Information on the upcoming changes to Tweets is now on the developer site",
      "url": ""

We can parse this array into a Custom Tweets (tweets list container) object manually, but it is easier to do it with fromJson method:

Gson gson = new Gson();
String jsonArray = "....";
Tweets tweets = gson.fromJson(jsonArray, Tweets.class);

Suppose we have two classes below:

class Tweets {
    int totalCount;
    int pageSize;
    int pageIndex;
    // all you need to do it is just define List variable with correct name 
    List<Tweet> tweets;

class Tweet {
    long createdOn;
    String tweetId;
    String tweetBody;
    String url;

and if you need just parse a json array you can use this code in your parsing:

String tweetsJsonArray = "[{.....},{.....}]"
List<Tweet> tweets = gson.fromJson(tweetsJsonArray, new TypeToken<List<Tweet>>() {}.getType());