Skip to content
This repository has been archived by the owner on Apr 8, 2020. It is now read-only.

JsonPullParser_ja

mstssk edited this page Mar 19, 2014 · 8 revisions

JsonPullParserについて (for v1.0)

JsonPullParserは、JSONを逐次解釈するPullParser 本体APT を組み合わせたライブラリです。
Annotationと組み合わせることで、簡単にJSONとJavaのクラスをマッピングすることができます。

  • 小さなライブラリ
    • 実行時に必要なのは、JsonPullParser本体を含む jsonpullparser-core-X.X.jar のみです。
  • JSONの逐次解釈
    • JSON全体を読み終わる前に、読み終わった部分のインスタンスを受け取ることができます。
  • 複数のプラットフォームで動きます
    • Androidとappengineで動作しています。

入手先

コード例

Twitterのpublic_timelineのJSON用モデル
利用例:ツイートの逐次表示

Eclipse設定例

Eclipse設定1
Eclipse設定2

IntelliJ IDEA用の設定

オプション

  • JsonModel アノテーション
    • treatUnknownKeyAsError
      • true の場合 未知のKeyを持つJSONを読み込ませた場合、例外を発生させる。
      • false の場合 未知のKeyを持つJSONを読み込ませた場合、読み捨てを行い、無視する。
    • decamelize
      • true の場合 foo_bar というJSONに対して fooBar という変数を対応させる。
      • false の場合 JSONのKeyと全く同じ名前の変数と対応させる。
  • JsonKey アノテーション
    • value
      • 対応させるJSONのKey名を指定する 省略した場合はフィールド名と同じ。
    • converter
      • デフォルトで対応していないクラスや複雑な解析を行いたい場合、パース処理をカスタマイズできる。TokenConverterの拡張クラスの.classを指定する。
    • in
      • JSONを読み込むとき、このフィールドを有効にするかどうか。デフォルト有効。
    • out
      • JSONを書きだすとき、このフィールドを有効にするかどうか。デフォルト有効。
    • decamelize
      • JsonModelの同名パラメータと同様。ただしJsonModelの指定より優先される。
  • アノテーションプロセッサ本体 (Eclipseより設定)
    • JsonPullParserClassPostfix
      • 自動生成するクラスのポストフィクスを指定できます。デフォルトは"Gen"。
    • JsonPullParserDebug
      • アノテーションプロセッサの動作時、デバッグ出力を行うかを指定します。出力させるときは"true"を指定。

対応している型

  • プリミティブ型全て
  • プリミティブ型のラッパクラス全て
  • String
  • Date
  • Enum
  • JsonHash
  • JsonArray
  • @JsonModel で修飾されているクラス
  • 上記のList

配列(Array)は対応していません。

TokenConverter

実装例

maven

設定例
mavenリポジトリ