オープンソースコラム


2008/10/30 14:01Update

Flexjson - JavaオブジェクトをJSONに変換するための軽量ライブラリ

TAGS: Flexjson | Java | JSON | シリアライズ | Apache

スポンサード リンク


Flexjsonは軽量Javaで開発された軽量なライブラリで、JavaオブジェクトをラインタイムでJSONに変換することができます。                                                                                            

JSON (JavaScript Object Notation)は、軽量のデータ交換フォーマットとして使われるデータ記述言語です。
JSONフォーマットの文字列データをJavaScriptのeval()関数で解釈させ、JavaScriptのコードとして実行することができるのが特徴で、Ajaxなどの分野で広く利用されています。

JSONについて
JSON入門 - JSONの基本的な形式例


JSON入門 - JavaScriptでJSONデータを評価する

DWR+JSONでクライアントとサーバ側間でJSON形式のデータ変換処理

公式サイトでは、次のようなサンプルから説明しています。



Flexjsonを利用すれば、PersonオブジェクトをJSONに簡単に変換できます。

■Javaコード:
Person p = ...; //Personオブジェクトp

JSONSerializer serializer = new JSONSerializer(); 
return serializer.serialize(p);     //String型、JSONフォーマットデータ


■出力するJSONデータ(サンプル):
{
    "class": "Person",
    "name": "William Shakespeare",
    "birthday": -12802392000000,
    "nickname": "Bill"
}


さらに、シリアライズ時にJSONSerializer.include(...)メソッドでパラメータを指定すれば、phoneNumbers、addressesなどのプロパティまでシリアライズされることができます。
■Javaコード
return new JSONSerializer().include("phoneNumbers").serialize(p); 


■出力JSONデータ
{
    "class": "Person",
    "name": "William Shakespeare",
    "birthday": -12802392000000,
    "nickname": "Bill"
    "phoneNumbers": [
         {
             "class": "Phone",
             "name": "cell",
             "number": "555-123-4567"
         },
         {
             "class": "Phone",
             "name": "home",
             "number": "555-987-6543"
         }
    ]
}

詳細は公式サイトまで。

Flexjsonの機能・特徴


◇ JavaオブジェクトをJSONデータに変換(シリアライズ)
◇ シンプル・洗練されたAPI
◇ オープンソース。Apache License V2.0

sourceforge Flexjsonプロジェクト

Sponsored Link