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)