読者です 読者をやめる 読者になる 読者になる

Pocket APIをJackson経由で扱うために

突然ですが、私はPocketが大好きです。

 

多分Twitterと同じかそれ以上に使っています。

 

で、AndroidでPocketクライアントを作ろうとした時壁にぶつかりました。

 

JSONJava Obejctとして扱うには事前にClassを定義しておかなければなりません(Jacksonの場合)。

 

いろいろ調べているとクラスを定義をしなくても読み込みが可能な方法がありました。

【Java】JSONの基本とJSONICを使用してJSONの変換をする方法 - TASK NOTES

JSONをmapとして読みこめばとりあえずは読み込み可能でした。 

 

が、クラスを定義した時に受けられるIDEの自動補完ができなくなるため、できればクラス定義はしておきたい。

 

というわけでクラス定義を行おうと思いましたがいくつか問題が発生。

 

 その中でも一番頭が痛かったのがこれ。

 

・ドキュメントに書かれていない値が帰ってくる

 

例えば、公式ドキュメントのretrieveのページを見てみましょう。

getpocket.com

 

Example Responseを見ると、ルートにある値はstatusとlistだけですが、実際にはこれに加え、completeやerror、search_metaやsinceなどの値も帰ってきます。

 

他にも割りとありましたが省略します。

 

ということで、getter/setterすらないキー値を突っ込んだだけのPOJOを公開しました。(大体自分用)

 

github.com

 

MITですのでfork等ご自由にどうぞ。