【Java】【Android】【JSON】Google Gson(Json) を Eclipse にインポートして使う 
2014/07/30 Wed [edit]
JSON 形式変換のライブラリはいくつかあるようだが、とりあえず Google の Json(Gson) をテストしてみる。
でもその前に、ライブラリのダウンロードと Eclipse へインポートして使う方法。
1.まずは、ライブラリは jar で提供されているので、以下からダウンロード。
https://code.google.com/p/google-gson/
https://code.google.com/p/google-gson/downloads/list
(*)どちらも同じ。「google-gson-2.x.x-release.zip」をダウンロード。
(*)左側にあるメニューまたは、上部タブの「Downloads」から。
(*)バージョンはリリースごとに異なる(掲載時点は 2.2.4)。
2.zip を解凍すると、以下のファイルが出てくるので、適当なフォルダに移動する。
gson-2.x.x.jar
gson-2.x.x-javadoc.jar
gson-2.x.x-sources.jar
LICENSE
README
3.Eclipse のパッケージエクスプローラーで使用するプロジェクトを右クリックし、「プロパティー」を開く。
4.左メニューの「Java のビルド・パス」をクリックし、「ライブラリー」のタブに切り替え、右の「外部 Jar の追加」ボタンを押す。
5.JAR の選択のダイアログが開いたら、先ほど解凍した「gson-2.x.x.jar」を選択する。これで一応使えるようになる。
6.さらに、Javadoc が使えるようにするには、読み込んだライブラリが「ビルド・パス上の JAR およびクラス・フォルダー」に表示されたと思うが、これの[+]をクリックし、展開させると「Javadoc ロケーション」が出てくるので、それをクリックし、右の「編集」ボタンをクリックする。
7.「gson-2.x.x.jar の Javadoc」のダイアログが出たら、「アーカイブ内の Javadoc」を選択し、「外部ファイル」の「参照」ボタンから、解凍した「gson-2.x.x-javadoc.jar」を選択する。
8.次にデバッグ時などのソースを見るためには、「ビルド・パス上の JAR およびクラス・フォルダー」の展開メニューから「ソースの添付」をクリックし、Javadoc の時と同じように右の「編集」ボタンを押して、ダイアログにて「外部ロケーション」のパスに「外部ファイル」ボタンで、解凍した「gson-2.x.x-sources.jar」を選択する。
(*)メニューは日本語化してある
これで GSON (JSON) を使う準備は整った。
あとは簡単なサンプルを試してみる。適当なデータ用の構造体(クラス)を作って、JSON 形式に変換するのと、その逆に JSON 形式のテキストから、データ用の構造体(クラス)に値を受け取るテスト。
//データ格納用クラス(構造体)
public class Data {
public String name;
public int age;
public boolean male;
public Data(String name, int age, boolean male) {
this.name = name;
this.age = age;
this.male = male;
}
}
//テストのメイン... (※例外処理は省略)
//適当にデータを定義
Data data1 = new Data("Tom", 20, true);
//データ用クラス から、JSON 形式に変換
Gson gson = new Gson();
String text1 = gson.toJson(data1);
//確認
System.out.println("[Data1]");
System.out.println(text1);
//適当にJSON 形式のテキストを定義
String text2 = "{\"name\":\"Betty\",\"age\":18,\"male\":false}";
//JSON 解析して、データ用クラスに代入
Data data2 = gson.fromJson(text2, Data.class);
//確認
System.out.println("[Data2]");
System.out.println("name = " + data2.name);
System.out.println("age = " + data2.age);
System.out.println("male = " + data2.male);
結果は以下の通り。
[Data1]
{"name":"Tom","age":20,"male":true}
[Data2]
name = Betty
age = 18
male = false
とりあえず、簡単なものはOKと…。結構使いやすいな。あとは配列とか、日本語文字エンコーディングとか色々あるだろうけど、UTF-8 がデフォルトらしいので、Android でもそのまま使える。
(参考) JavaScript Object Notation (JSON)
(関連記事)
【Java】【PHP】【JSON】JSON を PHP から送信して、Java で受信する
【Java】【PHP】【JSON】JSON を Java から送信して、PHP で受信する
【MongoDB】【Windows】Windows版 MongoDB をインストールして使う
- 関連記事
トラックバック
トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/140-564b1f76
この記事にトラックバックする(FC2ブログユーザー)
| h o m e |