JSON 用 Java ライブラリは、JSONIC だけではない。
Google に、GSON というのがある。
http://code.google.com/p/google-gson/
JSONIC にちょっと似ているが、encode/decode は、static メソッドではない。
Gson gson = new Gson();
String str = gson.toJson(foo);
Foo f = gson.fromJson(str,Foo.class);
のように使う。
Gson をこのように new 演算子で生成すると、java.util.Date は、JSONIC の場合と異なり
value が、"Nov 15, 2011 10:14:22 AM" のように、Date#toString とも違う書式になる。
任意の書式にする場合、Gson インスタンスを生成する com.google.gson.GsonBuilder に書式設定を任せる。
→書式をセットした GsonBuilder を用意してから Gson を生成する。
JSONIC のように、アノテーションを対象Objectのフィールドに指定するのではない点が変な縛りがなく良い。
例)
GsonBuilder builder = new GsonBuilder();
builder.setDateFormat("yyyy/MM/dd HH:mm:ss");
Gson gson = builder.create();
GsonBuilder を使う癖にした方が良さそう。
GsonBuilder から Gson を作る Provider を Google guice でインジェクトさせても良いかもしれない。
任意に指定できる Provider や、guice の Module などいろいろ考えられる。
Gson を Maven で取得する pom は、
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>1.7.2</version>
</dependency>