javaでJSON

javaでjson扱うのは何がいいか調べてたらJacksonが良さそうなので使ってみた。
使ったのは最新verだった2.1.4のcore。

web上のjsonを扱いたいのでまずはwebから取得。

次にjacksonでjsonをパース。
ここで想定しているjsonは

みたいな形。

上記の形のデータが変数jsonに入ってるとした時のパース処理が以下。

this.set*はただのセッター。
パース処理の流れは、

  1. while (parser.nextToken() != JsonToken.END_OBJECT) { でデータが終わるまでループ
    JsonToken.END_OBJECT はオブジェクトの終了の文字。つまり } のこと。
  2. String name = parser.getCurrentName(); でフィールド名を取得
  3. フィールド名がnullでなければ、paserを次のトークンに動かす。
  4. if(name.equals("*")) でフィールド名に応じた処理
    getText()は現在のトークンの文字列を取得するメソッド。
詳細情報のセッターの引数の parseDetails(parser) は、詳細情報用の処理を分けたもの。詳細情報はarrayなので、直に書くと見にくい。
parseDtailsの宣言は ArrayList<Details> parseDetails(JsonParser parser)
処理は、

while(parser.nextToken() != JsonToken.END_ARRAY) の JsonToken.END_ARRAY はArrayの終了文字 ] のこと。あとは、メインの処理と同じようにして、Detailを作ってArrayListにして返すだけ。

javaでJSON” への4件のコメント

  1. Jackson使用方法のきっかけとして、直接的に使えるサンプルをお示しいただいて非常に助かりました。
    ありがとうございます。

  2. 新作最高品質コピー時計、スーパーコピー時計
    最高品質(N級品)時計,バッグ,財布新作最新入荷,スーパーコピー時計,
    スーパーコピー財布,スーパーコピーバッグ,ブランド時計コピー,スーパー コピー,
    ブランドスーパーコピー,ブランド偽物,スーパーコピー時計,ルイヴィトンバッグ,
    エルメススーパーコピー,シャネルスーパーコピー,ロレックススーパーコピー,
    カルティエスーパーコピー,オメガスーパーコピー,ウブロスーパーコピーなどの世界にプランド商品です。
    当店のスーパーコピーブランド(N級品)は本物と同じ素材を採用しています。
    スーパーコピー,本物を真似た偽物.模造!
    ホームページ上でのご注文は24時間受け付けております

UGG靴 韓国 コピー にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">