JavaでのJSON処理

出典: Webアプリケーション構築入門2

このWikiは、拙著『Webアプリケーション構築入門』(森北出版, 第2版, 2011)のドラフトであり、今後更新する予定はありません。このWiki内での「教科書」という表記は、旧版を指していることに注意してください。

新しい情報は、サポートサイトに掲載されています。


Javaは標準ではJSONをサポートしていない。そのため、JSONを処理するコードを自分で書くか、そのためのライブラリを探さなければならない。

ライブラリの導入

ここではライブラリを利用する。http://www.json.org/json-ja.html でまとめられているライブラリの中から、http://www.json.org/java/ を採用する。このページにあるJavaファイルをプロジェクトに追加すれば利用できるようになるが、その手間を省くために、JARファイル(http://www.unfindable.net/~yabuki/tmp/json.jar )にまとめた。このファイルをダウンロードして、JARファイルの利用の方法で登録する。

参照:APIリファレンス

自分でJARファイルを作りたい場合は、NetBeansで新しいプロジェクト(json)を作り、パッケージ「org.json」にJavaファイルをすべて格納する。プロジェクト名を右クリック、「生成物を削除して構築」をクリックする。プロジェクトのディレクトリ/dist/json.jarができる。

JSON文字列をオブジェクトにする

package myPackage;
 
import org.json.*;
 
public class JsonToObject {
 
  public static void main(String args[]) throws Exception {
    // オブジェクトを作る
    JSONObject json = new JSONObject("{'lastName':'矢吹','firstName':'太朗','birthday':[1976,1,5]}");
 
    // 内容を取得
    System.out.println(json.getString("lastName"));
  }
}

実行すると次のような文字列が出力される。

矢吹

JSON文字列の生成

package myPackage;
 
import org.json.*;
 
public class JsonCreator {
 
  public static void main(String args[]) throws Exception {
    JSONObject json = new JSONObject();
    json.put("lastName", "矢吹");
    json.put("firstName", "太朗");
    int birthday[] = {1976, 1, 5};
    json.put("birthday", birthday);
 
    System.out.println(json.toString());
  }
}

実行すると次のような文字列が出力される。

{"birthday":[1976,1,5],"lastName":"矢吹","firstName":"太朗"}
個人用ツール