JSONプログラミング
JSONの概要
JSON(JavaScript Object Notation)とは、XML同様、テキスト形式のデータ形式である。XMLは記述が複雑である一方、JSONは簡単な文字列により記述することが出来るのが主な利点である。
JSONのデータフォーマット
【基本形】
「変数名:値」の組み合わせでなっており、以下のように表現する。文字列と数字を区別することができる。
{ “id”: 1, “name”: “taro”}
【配列の場合】
[{“id”:1, “name”: “taro”}, {“id”:2, “name”: “hanako”}]
JSONライブラリ
JSONを文字列として扱うことは面倒であるため、Javaのクラス(オブジェクト)とマッピングさせるライブラリがいくつか存在する。代表的なものは
などである。下記にJSON Libのプログラミング例を紹介する。
JSON libを利用したJSONプログラム
JavaプログラムでJSONオブジェクトを使用する場合、以下のライブラリが必要である。
- common beanutilsライブラリ
- commons collections ライブラリ
- commons lang ライブラリ
- ezmorph ライブラリ
- JSON libライブラリ
JSONプログラミングのポイント
JSONはデータ交換(授受)の際に利用するものなので、Java上では
- JavaオブジェクトとJSONオブジェクトとの相互変換
ができるようになることが、一つのポイント。Javaプログラムにおいて基本形はJSONObjectクラス、配列はJSONArrayクラスとして扱う。
【JSONフォーマットの文字列を読みお込む】
このやり方は、古いやり方なので使わないこと!
JSONObject jobj = jsonObject = JSONObject .fromString("ここにJSON文字列"); //
【JavaオブジェクトからJSONオブジェクトへ変換】
JSONObject jobj = JSONObject.fromObject(obj); //
【Javaオブジェクト(配列)からJSON配列オブジェクトへ変換】
JSONArray jsonArray = JSONArray.fromObject(obj); //
JSONArrayオブジェクトが格納できるのは、JSONオブジェクトです。
【JSONオブジェクトから、Javaオブジェクトへ変換】
DataClass data = (DataClass)JSONObject.toBean(jobj,DataClass.class)