素人のアンドロイドアプリ開発日記

GSONでJSONをパースする

2015.07.31

gsonを使うと、jsonを簡単にパースできる。というのを聞いたので使ってみました。

コツというか簡単な使い方の説明をします。

まずクラスを用意したりもしますが、

エラーのかどうかの判定は自分で判別をします。(ここはJsonObject jo = new JsonObject(str)で自分でstatusとかそういうのを取得して判別します。)

で、例えば、

result:{id:1,name:hello}

みたいに入れ子構造になっている場合には、面倒なので、resultの中のみを取り出します・

resultJsonObjectみたいなものをがあった場合

クラスで帰ってくる値と同じものを用意します。

ResultData.java

みたいのを作って、

public int id;
public String name;

を用意します。

で、

Gson gson = new Gson();
ResultData resultData = gson.fromJson(resultJsonObject.toString(), ResultData.class);

をすると該当のクラスの変数内に、対応する値がそのまま入ってくれます。

 

で、更に入れ子になる場合には、JsonObjectはそれ用のクラスを作って(innerData)として、配列の場合には、ArrayListを配置しておくと、jsonのキーと同じ名前の変数に該当のものが含まれます。

 

難点としては、値が存在しなくても、エラーも出ないので、サーバーの方の返り値がおかしくなっても気づけない事かと思います。

同じカテゴリの記事を紹介します

URLEncodeとPOSTメソッドのEncode通信でUserAgentを偽装する方法非同期でのファイルの読み込みはtxt,json,xmlで同じ前回作ったローダーをPOSTメソッド対応にしてみた。非同期での読み込みクラスを作りました。JSON,TEXTなどJSONのデータをパースしてみる。JSONの読み込みをしたい!ASCII.jpでIntentの復習RSSリーダーを作成する。ファイル一式RSSリーダーを作成する。詳細画面を表示する。RSSリーダーを作成する。xmlとかをパースする。RSSリーダーを作成する。リストビューとItemを作成

カテゴリー:通信

公開中のアプリ、是非ダウンロードしてみてください

2chまとめのたね

RSSを利用してさまざまなブログの情報をキュレーションしてくれるアプリ

インストールする

ひらがな戦記

OPENGL ES2 を利用したカルタのソーシャルゲーム

インストールする