[Twitter4J] Twitter APIのJSONを扱う

java

// JSONを保存するよう設定する
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.setJSONStoreEnabled(true);
TwitterFactory twitterFactory = new TwitterFactory(configurationBuilder.build());
Twitter twitter = twitterFactory.getInstance();

// 例としてGET statuses/show/:idを行っています
Status status = twitter.showStatus(997324372867076096L);

// 保存されているJSONを取得
String statusJSON = TwitterObjectFactory.getRawJSON(status);

// こうすることでJSONからオブジェクトを生成することもできます
Status status1 = TwitterObjectFactory.createStatus(statusJSON);


上記コードではJSONを保存する設定をConfigurationBuilderクラスから行っていますが、
下記のようにtwitter4j.propertiesファイルから行うこともできます。

twitter4j.properties

jsonStoreEnabled=true

java

// 例としてGET followers/listを行っています
PagableResponseList<User> followersList = TwitterFactory.getSingleton().getFollowersList("mnoqlo", -1);

// 保存されているJSONを取得
String userJSON = TwitterObjectFactory.getRawJSON(followersList.get(0));

// JSONからオブジェクトを生成
User user = TwitterObjectFactory.createUser(userJSON);

jsonStoreEnabledはメモリを食うためデフォルトでfalseになっているとのことなので、
JSONが必要な時に動的に設定できる前者のやり方がいいかもしれません(JSONを取得したいことが多い場合などは別)。