TFJ-422: 生JSONへのアクセス

297 views
Skip to first unread message

Yusuke Yamamoto

unread,
Nov 6, 2010, 10:54:22 AM11/6/10
to twitt...@googlegroups.com
こんばんは。山本です。

生JSONにアクセスできるインターフェースを作ってみました。

twitter4j.json.DataObjectFactory#getRawJSON(Object obj) を呼べばokです。
http://twitter4j.org/en/oldjavadocs/2.1.7-SNAPSHOT/twitter4j/json/DataObjectFactory.html#getRawJSON(java.lang.Object)
JSONを Status オブジェクトに戻すには DataObjectFactory.createStatus(String json) を使います。
http://twitter4j.org/en/oldjavadocs/2.1.7-SNAPSHOT/twitter4j/json/DataObjectFactory.html#createStatus(java.lang.String)

現在のところスタティックファクトリーメソッドは一つしか用意されていません。

また、現在の所生JSONへのアクセスは StatusListener#onStatus(Status) 内からしかできません。
具体的な使い方は StreamAPITest の 385-391行に書いてあります。
https://github.com/yusuke/twitter4j/commit/de48deb78a3a5f37bfe819aec9182e3d28cc9967#L3R385

この実装でよければ他の REST API メソッドにも適用しようと思います。
お試しの上、気軽にフィードバックをいただければと思います。
http://twitter4j.org/ja/index.html#download
http://twitter4j.org/maven2/org/twitter4j/twitter4j-core/2.1.7-SNAPSHOT/
--
Yusuke Yamamoto
yus...@mac.com

このメールは: [x] ブログ/Twitterへ転載可能 [ ] 私信
Twitter でフォロー : http://twitter.com/yusukey
blogを購読: http://samuraism.jp/

Yusuke Yamamoto

unread,
Nov 19, 2010, 11:45:40 PM11/19/10
to twitt...@googlegroups.com
REST API からも 生JSON にアクセスできるようになりました。
以下のように twitter4j.json.DataObjectFactory を使います:
----------
- 生JSONを取得する
Twitter twitter = new TwitterFactory().getInstance();
List<Status> statuses = twitter.getPublicTimeline();
for(Status status : statuses) {
String rawJSON = DataObjectFactory.getRawJSON(status);
// do whatever you want
}
- 生JSONをデシリアライズする
Status status = DataObjctFactory.createStatus(rawJSON);
----------

お試しください。

このメールは: [x] ブログ/Twitterへ転載可能 [ ] 私信
Twitter でフォロー : http://twitter.com/yusukey
blogを購読: http://samuraism.jp/

> --
> Twitter4J の最新情報をフォロー: http://twitter.com/t4j_news
> 現在のバージョン - 安定: 2.1.6, 開発中: 2.1.7-SNAPSHOT
> http://twitter4j.org/jira/secure/IssueNavigator.jspa?requestId=10030
> バグトラッキング: http://twitter4j.org/jira/browse/TFJ
>
> このメールは次の Google グループの参加者に送られています: Twitter4J J
> このグループにメールで投稿: twitt...@googlegroups.com
> このグループから退会する: twitter4j-j...@googlegroups.com
> その他のオプションについては、次の URL からグループにアクセスしてくださ
> い。 http://groups.google.com/group/twitter4j-j?hl=ja

Yusuke Yamamoto

unread,
Nov 20, 2010, 1:06:03 AM11/20/10
to twitt...@googlegroups.com
サンプルプログラムを追加しました。

以下のコマンドでpublic timelineをファイルに保存できます
bin $ ./saveRawJSON.sh
また、ファイルからタイムラインの読み込みは以下のコマンドでできます
bin $ ./loadRawJSON.sh

以下のファイルも併せてご参照ください。
- twitter4j.examples.json.Save|LoadRawJSON.java
- bin/save|loadRawJSON.sh|cmd
https://github.com/yusuke/twitter4j/commit/e286baacaf252f8c4786d5f9598a7cd8267a700d

Thanks,
--
Yusuke Yamamoto
yus...@mac.com

このメールは: [ ] ブログ/Twitterへ転載可能 [x] 私信


Twitter でフォロー : http://twitter.com/yusukey
blogを購読: http://samuraism.jp/

Reply all
Reply to author
Forward
0 new messages